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

Disassembly:
sub esp, 0xf8
push ebx
push ebp
push esi
push edi
mov ebp, dword [esp + 0x10c]
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov al, byte [ebp]
xor ebx, ebx
test al, al
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
je 0x40c601
cmp al, 0x24
jne 0x40c601
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x78]
push eax
push ecx
push ebp
call fcn.0040c0d0
add esp, 0xc
mov esi, str.1.1.0
lea eax, [esp + 0x78]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c1d4
test cl, cl
je 0x40c1d0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c1d4
add eax, 2
add esi, 2
test cl, cl
jne 0x40c1b0
xor eax, eax
jmp 0x40c1d9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c251
mov esi, str.6.4.0
lea eax, [esp + 0x78]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c20a
test cl, cl
je 0x40c206
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c20a
add eax, 2
add esi, 2
test cl, cl
jne 0x40c1e6
xor eax, eax
jmp 0x40c20f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c251
mov esi, str.7.0.0
lea eax, [esp + 0x78]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c240
test cl, cl
je 0x40c23c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c240
add eax, 2
add esi, 2
test cl, cl
jne 0x40c21c
xor eax, eax
jmp 0x40c245
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c251
mov dword [esp + 0x24], 1
lea eax, [esp + 0x10]
lea ecx, [esp + 0x30]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x3c]
push edx
call fcn.0041fe17
mov esi, eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x40]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x4c]
push edx
call fcn.0041fe17
mov ebx, eax
mov al, byte [esp + 0x98]
add esp, 0x20
cmp al, 0x36
jne 0x40c2d1
cmp byte [esp + 0x7a], 0x33
jne 0x40c2d1
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0xc4]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
push ebp
mov dword [esp + 0x3c], 0
call fcn.0040c630
mov eax, dword [esp + 0x28]
add esp, 0x18
jmp 0x40c505
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0xc0]
lea edx, [esp + 0xc0]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
push ecx
push edx
push ebp
stosw word es:[edi], ax
call fcn.0040c0d0
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x3c]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x48]
push edx
call fcn.0041fe17
mov dword [esp + 0x38], eax
add eax, 2
add esp, 0x1c
cmp eax, 5
ja case.0x40c323.0
jmp dword [eax*4 + 0x40c614]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x30]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x3c]
push edx
call fcn.0041fd8c
mov cl, byte [esp + 0x88]
add esp, 0x10
cmp cl, 0x37
mov dword [esp + 0x14], eax
jne case.0x40c323.0
cmp byte [esp + 0x7a], 0x30
jne case.0x40c323.0
cmp byte [esp + 0x7c], 0x30
jne case.0x40c323.0
mov dword [0x4303d8], eax
jmp case.0x40c323.0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x30]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x3c]
push edx
call fcn.0041fd8c
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x40]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x4c]
push edx
call fcn.0041fe17
mov dword [esp + 0x40], eax
lea eax, [esp + 0x30]
lea ecx, [esp + 0x50]
push eax
push ecx
push ebp
call fcn.0040c0d0
lea edx, [esp + 0x5c]
push edx
call fcn.0041fd8c
mov dword [esp + 0x48], eax
mov al, byte [esp + 0xa8]
add esp, 0x30
cmp al, 0x37
jne case.0x40c323.0
cmp byte [esp + 0x7a], 0x30
jne case.0x40c323.0
cmp byte [esp + 0x7c], 0x30
jne case.0x40c323.0
mov eax, dword [esp + 0x14]
mov dword [0x4303d8], eax
jmp case.0x40c323.0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x30]
push ecx
push edx
push ebp
call fcn.0040c0d0
lea eax, [esp + 0x3c]
push eax
call fcn.0041fe17
lea ecx, [esp + 0x20]
lea edx, [esp + 0x40]
push ecx
push edx
push ebp
mov dword [esp + 0x3c], eax
call fcn.0040c0d0
lea eax, [esp + 0x4c]
push eax
jmp 0x40c4b7
cmp byte [esp + 0x78], 0x37
jne 0x40c461
cmp byte [esp + 0x7a], 0x30
jne 0x40c461
cmp byte [esp + 0x7c], 0x30
jne 0x40c461
mov ecx, dword [0x4303d8]
mov dword [esp + 0x14], ecx
jmp case.0x40c323.0
lea edx, [esp + 0x10]
lea eax, [esp + 0x30]
push edx
push eax
push ebp
call fcn.0040c0d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0041fd8c
add esp, 0x10
mov dword [esp + 0x14], eax
jmp case.0x40c323.0
lea edx, [esp + 0x10]
lea eax, [esp + 0x30]
push edx
push eax
push ebp
call fcn.0040c0d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0041fe17
mov dword [esp + 0x30], eax
lea edx, [esp + 0x20]
lea eax, [esp + 0x40]
push edx
push eax
push ebp
call fcn.0040c0d0
lea ecx, [esp + 0x4c]
push ecx
call fcn.0041fd8c
add esp, 0x20
mov dword [esp + 0x18], eax
cmp word [esp + 0x24], 1
mov eax, dword [esp + 0x10]
jne 0x40c4fe
mov cl, byte [eax + ebp + 0x10]
cmp cl, 0x24
je 0x40c4fe
test cl, cl
je 0x40c4fe
add eax, 0x10
mov dword [esp + 0x10], eax
mov cl, byte [eax + ebp]
cmp cl, 0x24
je 0x40c505
test cl, cl
je 0x40c505
inc eax
mov dword [esp + 0x10], eax
mov cl, byte [eax + ebp]
cmp cl, 0x24
jne 0x40c4eb
jmp 0x40c505
add eax, 3
mov dword [esp + 0x10], eax
cmp byte [eax + ebp], 0x24
jne 0x40c55b
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push edi
push edx
push eax
push 1
push ecx
push ebx
push esi
mov dword [esp + 0x44], 1
call fcn.0040b840
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edi
push edx
mov edx, dword [esp + 0x40]
push eax
lea ecx, [esp + 0xe8]
push 1
push ecx
push edx
push ebx
push esi
call fcn.0040b390
add esp, 0x3c
xor ebx, ebx
jmp 0x40c185
mov edi, dword [esp + 0x28]
cmp edi, 1
jne 0x40c5ae
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push edi
push ebp
push eax
push 1
push ecx
push ebx
push esi
call fcn.0040b840
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
push edi
push ebp
push edx
lea eax, [esp + 0xe8]
push 1
push eax
push ecx
push ebx
push esi
call fcn.0040b390
add esp, 0x3c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push ebp
push edx
push eax
push edi
push ecx
push ebx
push esi
call fcn.0040b840
add esp, 0x1c
test eax, eax
jne 0x40c601
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ebp
push edx
mov edx, dword [esp + 0x24]
push eax
lea ecx, [esp + 0xcc]
push edi
push ecx
push edx
push ebx
push esi
call fcn.0040b390
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xf8
ret