Function at 0x40d7b0
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x4628c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], 0
call fcn.004227d0
mov ebx, 1
lea ecx, [esp + 0x20]
push ebx
push ecx
mov byte [esp + 0x3c], bl
call fcn.0040d2b0
add esp, 8
lea edx, [esp + 0x14]
push edx
mov ecx, eax
mov byte [esp + 0x38], 2
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 3
call fcn.00422320
lea ecx, [esp + 0x14]
mov byte [esp + 7], al
mov byte [esp + 0x34], 2
call fcn.004222c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40d86d
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea eax, [esp + 0x14]
push 2
push eax
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 4
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 5
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 4
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40d8f6
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 2
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 3
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 6
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 7
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 6
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40d97f
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 4
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 8
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 9
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 8
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40da08
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 4
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 5
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0xa
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0xb
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0xa
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40da91
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 5
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 6
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0xc
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0xd
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0xc
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40db1a
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 6
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 7
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0xe
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0xf
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0xe
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40dba3
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 7
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 8
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x10
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x11
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x10
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40dc2c
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 8
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 9
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x12
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x13
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x12
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40dcb5
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x14
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x15
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x14
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40dd3b
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xa
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x16
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x17
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x16
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40ddc4
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xa
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xb
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x18
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x19
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x18
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40de4d
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xb
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xc
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x1a
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x1b
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x1a
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40ded6
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xc
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xd
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x1c
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x1d
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x1c
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40df5f
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xd
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xe
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x1e
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x1f
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x1e
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40dfe8
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xe
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0xf
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x20
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x21
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x20
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e071
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0xf
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x10
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x22
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x23
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x22
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e0fa
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x10
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x11
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x24
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x25
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x24
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e183
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x11
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x12
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x26
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x27
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x26
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e20c
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x12
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x13
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x28
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x29
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x28
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e295
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x13
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x14
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x2a
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x2b
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x2a
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e31e
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x14
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push 0x15
push edx
call fcn.0040d2b0
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x2c
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x2d
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x2c
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
je 0x40e3a7
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
mov eax, 0x15
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret
lea edx, [esp + 0x14]
push ebx
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x2e
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x2f
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x2e
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40d83c
lea edx, [esp + 0x14]
push 2
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x30
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x31
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x30
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40d8c2
lea edx, [esp + 0x14]
push 3
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x32
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x33
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x32
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40d94b
lea edx, [esp + 0x14]
push 4
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x34
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x35
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x34
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40d9d4
lea edx, [esp + 0x14]
push 5
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x36
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x37
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x36
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40da5d
lea edx, [esp + 0x14]
push 6
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x38
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x39
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x38
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dae6
lea edx, [esp + 0x14]
push 7
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x3a
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x3b
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x3a
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40db6f
lea edx, [esp + 0x14]
push 8
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x3c
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x3d
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x3c
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dbf8
lea edx, [esp + 0x14]
push 9
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x3e
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x3f
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x3e
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dc81
lea edx, [esp + 0x14]
push 0
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x40
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x41
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x40
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dd0a
lea edx, [esp + 0x14]
push 0xa
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x42
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x43
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x42
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dd90
lea edx, [esp + 0x14]
push 0xb
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x44
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x45
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x44
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40de19
lea edx, [esp + 0x14]
push 0xc
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x46
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x47
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x46
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dea2
lea edx, [esp + 0x14]
push 0xd
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x48
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x49
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x48
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40df2b
lea edx, [esp + 0x14]
push 0xe
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x4a
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x4b
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x4a
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40dfb4
lea edx, [esp + 0x14]
push 0xf
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x4c
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x4d
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x4c
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e03d
lea edx, [esp + 0x14]
push 0x10
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x4e
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x4f
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x4e
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e0c6
lea edx, [esp + 0x14]
push 0x11
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x50
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x51
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x50
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e14f
lea edx, [esp + 0x14]
push 0x12
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x52
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x53
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x52
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e1d8
lea edx, [esp + 0x14]
push 0x13
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x54
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x55
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x54
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e261
lea edx, [esp + 0x14]
push 0x14
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x56
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x57
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x56
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e2ea
lea edx, [esp + 0x14]
push 0x15
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x58
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x59
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x58
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
cmp byte [esp + 7], 0
jne 0x40e373
lea edx, [esp + 0x14]
push 0x16
push edx
call fcn.0040d530
add esp, 8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
mov byte [esp + 0x38], 0x5a
call fcn.004227d0
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0x5b
call fcn.00422320
lea ecx, [esp + 0x20]
mov byte [esp + 7], al
mov byte [esp + 0x34], 0x5a
call fcn.004222c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], bl
call fcn.004222c0
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.004222c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
call fcn.004222c0
cmp byte [esp + 7], 0
mov eax, 0x16
jne 0x40ebca
mov eax, 0x17
mov ecx, dword [esp + 0x2c]
pop ebx
mov dword fs:[0], ecx
add esp, 0x34
ret