Function at 0x40a3b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6d0
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x181]
mov byte [esp + 0x180], bl
mov byte [esp + 0x3c0], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x3c1]
mov byte [esp + 0x550], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x551]
mov byte [esp + 0x140], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor ecx, ecx
xor edx, edx
stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x4d], ecx
mov dword [esp + 0x95], eax
mov dword [esp + 0x51], ecx
mov dword [esp + 0x99], eax
mov word [esp + 0x55], cx
mov word [esp + 0x9d], ax
mov byte [esp + 0x57], cl
mov dword [esp + 0xb5], ecx
mov byte [esp + 0x9f], al
mov dword [esp + 0xdd], eax
mov dword [esp + 0xb9], ecx
mov dword [esp + 0xe1], eax
mov dword [esp + 0xbd], ecx
mov dword [esp + 0xe5], eax
mov dword [esp + 0xc1], ecx
mov dword [esp + 0xe9], eax
mov word [esp + 0xc5], cx
mov word [esp + 0xed], ax
mov byte [esp + 0xc7], cl
mov ecx, 0xf
lea edi, [esp + 0x141]
mov byte [esp + 0xef], al
mov dword [esp + 0xc9], edx
rep stosd dword es:[edi], eax
mov dword [esp + 0xcd], edx
mov ecx, 7
stosw word es:[edi], ax
mov dword [esp + 0xd1], edx
mov byte [esp + 0x110], bl
mov dword [esp + 0xd5], edx
mov byte [esp + 0x94], bl
stosb byte es:[edi], al
mov word [esp + 0xd9], dx
xor eax, eax
lea edi, [esp + 0x111]
mov byte [esp + 0xdb], dl
rep stosd dword es:[edi], eax
mov dword [esp + 0x59], edx
mov byte [esp + 0x4c], bl
mov dword [esp + 0x5d], edx
mov byte [esp + 0xc8], bl
mov dword [esp + 0x61], edx
mov byte [esp + 0xdc], bl
stosw word es:[edi], ax
mov dword [esp + 0x65], edx
mov byte [esp + 0xb4], bl
mov word [esp + 0x69], dx
mov byte [esp + 0x58], bl
stosb byte es:[edi], al
mov byte [esp + 0x6b], dl
mov byte [esp + 0x6c], bl
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x41], ecx
mov dword [esp + 0x6d], eax
mov dword [esp + 0x45], ecx
mov dword [esp + 0x71], eax
mov word [esp + 0x49], cx
mov dword [esp + 0x75], eax
mov byte [esp + 0x4b], cl
mov dword [esp + 0xfd], ecx
mov dword [esp + 0x79], eax
mov dword [esp + 0x101], ecx
mov word [esp + 0x7d], ax
mov dword [esp + 0x105], ecx
mov byte [esp + 0x7f], al
mov dword [esp + 0x81], edx
mov dword [esp + 0x109], ecx
mov dword [esp + 0xf1], eax
mov dword [esp + 0x85], edx
mov word [esp + 0x10d], cx
mov dword [esp + 0xf5], eax
mov dword [esp + 0x89], edx
mov byte [esp + 0x10f], cl
mov word [esp + 0xf9], ax
mov dword [esp + 0xa1], ecx
mov dword [esp + 0x8d], edx
mov byte [esp + 0xfb], al
mov dword [esp + 0xa5], ecx
mov word [esp + 0x91], dx
mov dword [esp + 0x25], eax
mov dword [esp + 0xa9], ecx
mov byte [esp + 0x93], dl
mov dword [esp + 0x29], eax
mov dword [esp + 0x11], edx
mov dword [esp + 0xad], ecx
mov dword [esp + 0x2d], eax
mov dword [esp + 0x15], edx
mov word [esp + 0xb1], cx
mov dword [esp + 0x31], eax
mov dword [esp + 0x19], edx
mov byte [esp + 0xb3], cl
mov word [esp + 0x35], ax
mov ecx, 0x10
lea edi, [esp + 0x140]
mov dword [esp + 0x1d], edx
mov byte [esp + 0x37], al
rep stosd dword es:[edi], eax
mov word [esp + 0x21], dx
mov ecx, 8
lea edi, [esp + 0x110]
mov byte [esp + 0x23], dl
rep stosd dword es:[edi], eax
lea edx, [esp + 0x110]
lea eax, [esp + 0x140]
push edx
push eax
mov byte [esp + 0x48], bl
mov byte [esp + 0x88], bl
mov byte [esp + 0xf8], bl
mov byte [esp + 0x104], bl
mov byte [esp + 0x18], bl
mov byte [esp + 0x2c], bl
mov byte [esp + 0xa8], bl
call fcn.0040ac90
mov ebp, dword [esp + 0x6ec]
mov esi, dword [sym.imp.MSVCR71.dll_sprintf]
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + 0x20]
mov dword [esp + 0x48], ecx
push edx
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], ecx
push 0x42c084
push eax
mov dword [esp + 0x5c], ecx
call esi
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x6fc]
lea eax, [esp + 0x6c]
push edx
mov dword [esp + 0x7c], ecx
push 0x42c080
push eax
mov dword [esp + 0x88], ecx
call esi
mov edx, dword [ebp + 0x24]
xor ecx, ecx
mov dword [esp + 0xa0], ecx
push edx
mov dword [esp + 0xa8], ecx
lea eax, [esp + 0xa4]
mov dword [esp + 0xac], ecx
push 0x42c080
mov dword [esp + 0xb4], ecx
push eax
mov dword [esp + 0xbc], ecx
call esi
mov edx, dword [esp + 0x718]
xor ecx, ecx
mov dword [esp + 0x98], ecx
push edx
mov dword [esp + 0xa0], ecx
lea eax, [esp + 0x9c]
mov dword [esp + 0xa4], ecx
push 0x42c080
mov dword [esp + 0xac], ecx
push eax
mov dword [esp + 0xb4], ecx
call esi
push 0x65
lea ecx, [esp + 0x12c]
push 0x42c084
push ecx
call esi
mov edx, dword [ebp + 0xc]
add esp, 0x44
lea eax, [esp + 0xfc]
push edx
push 0x42c080
push eax
call esi
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
push edx
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x20]
mov dword [esp + 0x28], ecx
push 0x42c080
mov dword [esp + 0x30], ecx
push eax
mov dword [esp + 0x38], ecx
call esi
mov edx, dword [ebp + 0x14]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
push edx
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x40]
mov dword [esp + 0x48], ecx
push 0x42c080
mov dword [esp + 0x50], ecx
push eax
mov dword [esp + 0x58], ecx
call esi
mov ecx, dword [ebp + 0xc]
add esp, 0x24
and ecx, 0x400
cmp ecx, 0x400
jne 0x40a835
lea edx, [esp + 0x24]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x100]
push eax
lea edx, [esp + 0xf8]
push ecx
lea eax, [esp + 0x78]
push edx
lea ecx, [esp + 0x90]
push eax
lea edx, [esp + 0x6c]
push ecx
lea eax, [esp + 0x128]
push edx
lea ecx, [esp + 0x15c]
push eax
lea edx, [ebp + 0x28]
push ecx
lea eax, [esp + 0x64]
push edx
push eax
push 0xb
push 0x42c07c
call fcn.004112d0
add esp, 0x34
jmp 0x40a877
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x6c]
push ecx
lea eax, [esp + 0x84]
push edx
lea ecx, [esp + 0x60]
push eax
lea edx, [esp + 0x11c]
push ecx
lea eax, [esp + 0x150]
push edx
lea ecx, [ebp + 0x28]
push eax
lea edx, [esp + 0x58]
push ecx
push edx
push 8
push 0x42c07c
call fcn.004112d0
add esp, 0x28
mov edx, eax
cmp edx, ebx
jne 0x40a88d
pop edi
pop esi
pop ebp
mov eax, 0x132
pop ebx
add esp, 0x6d0
ret
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0x180]
lea esi, [esp + 0x180]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x38]
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCR71.dll_free]
lea edx, [esp + 0x98]
xor ecx, ecx
lea eax, [esp + 0x184]
push edx
mov dword [esp + 0x9c], ecx
push eax
push str.getLicense
mov dword [esp + 0xa8], ecx
push 3
push 0x42c06c
mov dword [esp + 0xb4], ecx
call fcn.004112d0
mov edx, eax
add esp, 0x18
cmp edx, ebx
jne 0x40a91f
pop edi
pop esi
pop ebp
mov eax, 0x132
pop ebx
add esp, 0x6d0
ret
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0x3c0]
lea esi, [esp + 0x3c0]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x38]
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCR71.dll_free]
lea edi, [esp + 0x3c4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x40], ecx
shr cx, 4
mov esi, ecx
lea ecx, [esp + 0x134]
push ecx
call fcn.004113e0
lea edx, [esp + 0x138]
lea eax, [esp + 0x318]
push edx
push eax
call fcn.004048d0
add esp, 0x10
cmp si, bx
jbe 0x40a9c9
lea edi, [esp + 0x3c0]
and esi, 0xffff
lea ecx, [esp + 0x310]
push edi
push ecx
call fcn.004049c0
add esp, 8
add edi, 0x10
dec esi
jne 0x40a9b2
lea edx, [esp + 0x3c]
lea eax, [esp + 0x550]
push edx
push eax
lea ecx, [esp + 0x3c8]
push ebp
push ecx
call fcn.0040dd20
add esp, 0x10
cmp eax, ebx
jne 0x40ac77
mov eax, dword [esp + 0x3c]
mov cx, ax
shr cx, 4
cmp cx, bx
jbe 0x40aa29
and ecx, 0xffff
lea esi, [esp + 0x550]
mov edi, ecx
lea edx, [esp + 0x310]
push esi
push edx
call fcn.00404bf0
add esp, 8
add esi, 0x10
dec edi
jne 0x40aa0e
mov eax, dword [esp + 0x3c]
and eax, 0xffff
xor ecx, ecx
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0x180]
mov byte [esp + eax + 0x550], bl
xor eax, eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0xd0], eax
mov ecx, 0x64
mov dword [esp + 0xd4], eax
lea edx, [esp + 0x180]
mov dword [esp + 0xd8], eax
push edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x50]
lea ecx, [esp + 0xcc]
push eax
lea edx, [esp + 0x558]
push ecx
push edx
push 3
push 0x42c06c
call fcn.00411110
add esp, 0x18
cmp eax, 0xffffffff
jne 0x40aab7
pop edi
pop esi
pop ebp
mov eax, 0x12f
pop ebx
add esp, 0x6d0
ret
mov edi, str.error
lea esi, [esp + 0xc8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40aaeb
cmp al, bl
je 0x40aae7
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40aaeb
add esi, 2
add edi, 2
cmp al, bl
jne 0x40aac3
xor eax, eax
jmp 0x40aaf0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40ab1d
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
mov edx, eax
mov ecx, 0x10
xor eax, eax
lea edi, [ebp + 0x68]
rep stosd dword es:[edi], eax
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x6d0
ret
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc0], ecx
xor eax, eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xec], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], ecx
lea eax, [esp + 0x24]
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0xa4]
push ecx
lea eax, [esp + 0xe4]
push edx
lea ecx, [esp + 0xc0]
push eax
lea edx, [esp + 0x190]
push ecx
push edx
push 5
push 0x42c07c
call fcn.00411110
add esp, 0x20
cmp eax, 0xffffffff
jne 0x40ac02
pop edi
pop esi
pop ebp
mov eax, 0x12f
pop ebx
add esp, 0x6d0
ret
mov esi, dword [sym.imp.MSVCR71.dll_atol]
lea eax, [esp + 0xb4]
push eax
call esi
mov dword [ebp], eax
mov al, byte [esp + 0xa4]
add esp, 4
cmp al, bl
jne 0x40ac2f
mov ecx, dword [esp + 0x6ec]
mov dword [ebp + 4], ecx
jmp 0x40ac3f
lea edx, [esp + 0xa0]
push edx
call esi
add esp, 4
mov dword [ebp + 4], eax
lea eax, [esp + 0xdc]
push eax
call esi
lea ecx, [esp + 0x14]
mov dword [ebp + 8], eax
push ecx
call esi
lea edx, [esp + 0x2c]
mov dword [ebp + 0x10], eax
push edx
call esi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x18]
add esp, 0xc
cmp eax, 0x78
je 0x40ac75
push eax
push ebp
call fcn.0040b6a0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6d0
ret