Function at 0x40cca0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa8
push ebp
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x40df61
cmp dword [esp + 0xb4], 0
je 0x40df61
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x40cd3f
mov ebx, dword [esp + 0xc0]
movzx edi, al
mov esi, 8
sub esi, edi
push esi
lea eax, [edi + ebx + 0x20]
push eax
push ebp
call fcn.0040fa70
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.0040c190
add esp, 0x18
test eax, eax
je 0x40cd33
cmp edi, 4
jae 0x40cd25
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.0040c190
add esp, 0xc
test eax, eax
je 0x40cd25
push 0x41c470
jmp 0x40cd2a
push 0x41c448
push ebp
call fcn.00415200
add esp, 8
cmp edi, 3
jae 0x40cd3f
or dword [ebp + 0x68], 0x1000
mov al, 0x44
mov byte [esp + 0x8e], al
mov byte [esp + 0x15], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x7f], al
mov al, 0x46
mov dl, 0x49
mov bl, 0x41
mov cl, 0x54
mov byte [esp + 0x25], al
mov byte [esp + 0x26], al
mov al, 0x73
mov byte [esp + 0x8c], dl
mov byte [esp + 0x8d], 0x48
mov byte [esp + 0x8f], 0x52
mov byte [esp + 0x90], 0
mov byte [esp + 0x14], dl
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], cl
mov byte [esp + 0x18], 0
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], 0x45
mov byte [esp + 0x3e], 0x4e
mov byte [esp + 0x40], 0
mov byte [esp + 0x1c], 0x50
mov byte [esp + 0x1d], 0x4c
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], 0x45
mov byte [esp + 0x20], 0
mov byte [esp + 0x7c], 0x62
mov byte [esp + 0x7d], 0x4b
mov byte [esp + 0x7e], 0x47
mov byte [esp + 0x80], 0
mov byte [esp + 0x4c], 0x63
mov byte [esp + 0x4d], 0x48
mov byte [esp + 0x4e], 0x52
mov byte [esp + 0x4f], 0x4d
mov byte [esp + 0x50], 0
mov byte [esp + 0xa4], 0x67
mov byte [esp + 0xa5], bl
mov byte [esp + 0xa6], 0x4d
mov byte [esp + 0xa7], bl
mov byte [esp + 0xa8], 0
mov byte [esp + 0x5c], 0x68
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], 0x53
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], 0
mov byte [esp + 0x64], 0x69
mov byte [esp + 0x65], 0x43
mov byte [esp + 0x66], 0x43
mov byte [esp + 0x67], 0x50
mov byte [esp + 0x68], 0
mov byte [esp + 0x24], 0x6f
mov byte [esp + 0x27], al
mov byte [esp + 0x28], 0
mov byte [esp + 0x6c], 0x70
mov byte [esp + 0x6d], 0x43
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], 0x4c
mov byte [esp + 0x70], 0
mov byte [esp + 0x34], 0x70
mov byte [esp + 0x35], 0x48
mov byte [esp + 0x36], 0x59
mov byte [esp + 0x37], al
mov byte [esp + 0x38], 0
mov byte [esp + 0x44], al
mov byte [esp + 0x45], 0x42
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], cl
mov byte [esp + 0x48], 0
mov byte [esp + 0x2c], al
mov byte [esp + 0x2d], 0x43
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], 0x4c
mov byte [esp + 0x30], 0
mov byte [esp + 0x74], al
mov byte [esp + 0x75], 0x50
mov byte [esp + 0x76], 0x4c
mov byte [esp + 0x77], cl
mov byte [esp + 0x78], 0
mov byte [esp + 0x54], al
mov al, 0x74
mov bl, 0x58
mov byte [esp + 0x55], 0x52
mov byte [esp + 0x56], 0x47
mov byte [esp + 0x57], 0x42
mov byte [esp + 0x58], 0
mov byte [esp + 0x84], al
mov byte [esp + 0x85], 0x45
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], al
mov byte [esp + 0x88], 0
mov byte [esp + 0x9c], al
mov byte [esp + 0x9d], dl
mov byte [esp + 0x9e], 0x4d
mov byte [esp + 0x9f], 0x45
mov byte [esp + 0xa0], 0
mov byte [esp + 0xac], al
mov byte [esp + 0xad], 0x52
mov byte [esp + 0xae], 0x4e
mov byte [esp + 0xaf], 0x53
mov byte [esp + 0xb0], 0
mov byte [esp + 0x94], 0x7a
mov byte [esp + 0x95], cl
mov byte [esp + 0x96], bl
mov byte [esp + 0x97], al
mov byte [esp + 0x98], 0
lea edi, [ebp + 0x11c]
push 4
lea ecx, [esp + 0xb8]
push ecx
push ebp
call fcn.0040fa70
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.004166d0
push ebp
mov dword [esp + 0x28], eax
call fcn.0040c300
push 4
push edi
push ebp
call fcn.00415650
add esp, 0x24
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40cfd9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40cfc1
test eax, eax
je 0x40d036
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d028
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d036
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d028
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d036
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d028
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d036
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40d036
test esi, esi
mov eax, 1
jg 0x40d038
or eax, 0xffffffff
jmp 0x40d038
xor eax, eax
test eax, eax
jne 0x40d04b
mov eax, dword [ebp + 0x68]
test al, 8
je 0x40d04b
or eax, 0x2000
mov dword [ebp + 0x68], eax
mov eax, 4
lea ecx, [esp + 0x8c]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d078
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d060
test eax, eax
je 0x40d0d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d0c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d0d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d0c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d0d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d0c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d0d5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d0d5
test esi, esi
mov eax, 1
jg 0x40d0d7
or eax, 0xffffffff
jmp 0x40d0d7
xor eax, eax
test eax, eax
jne 0x40d0f6
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004167f0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d119
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d101
test eax, eax
je 0x40d176
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d168
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d176
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d168
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d176
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d168
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d176
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d176
test esi, esi
mov eax, 1
jg 0x40d178
or eax, 0xffffffff
jmp 0x40d178
xor eax, eax
test eax, eax
jne 0x40d197
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416b50
add esp, 0xc
jmp 0x40cf82
push edi
push ebp
call fcn.0040c7b0
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x40d386
lea ecx, [esp + 0x14]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d1cc
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d1b4
test eax, eax
je 0x40d229
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d21b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d229
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d21b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d229
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d21b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d229
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d229
test esi, esi
mov eax, 1
jg 0x40d22b
or eax, 0xffffffff
jmp 0x40d22b
xor eax, eax
test eax, eax
jne 0x40d233
or dword [ebp + 0x68], 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418a60
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d26c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d254
test eax, eax
je 0x40d2c9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d2bb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d2c9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d2bb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d2c9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d2bb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d2c9
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d2c9
test esi, esi
mov eax, 1
jg 0x40d2cb
or eax, 0xffffffff
jmp 0x40d2cb
xor eax, eax
test eax, eax
jne 0x40d2d8
or dword [ebp + 0x68], 2
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d2fb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d2e3
test eax, eax
je 0x40d358
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d34a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d358
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d34a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d358
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d34a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d358
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x40d358
test esi, esi
mov eax, 1
jg 0x40d35a
or eax, 0xffffffff
jmp 0x40d35a
xor eax, eax
test eax, eax
jne 0x40cf82
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x40df01
push 0x41c42c
push ebp
call fcn.00415200
add esp, 8
pop edi
pop esi
pop ebx
pop ebp
add esp, 0xa8
ret
lea ecx, [esp + 0x1c]
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d3a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d390
test eax, eax
je 0x40d405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d405
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40d405
test esi, esi
mov eax, 1
jg 0x40d407
or eax, 0xffffffff
jmp 0x40d407
xor eax, eax
test eax, eax
jne 0x40d426
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
push ecx
push edx
push ebp
call fcn.004169b0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d449
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d431
test eax, eax
je 0x40d4a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d498
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d4a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d498
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d4a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d498
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d4a6
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40d4a6
test esi, esi
mov eax, 1
jg 0x40d4a8
or eax, 0xffffffff
jmp 0x40d4a8
xor eax, eax
test eax, eax
je 0x40df27
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x40d4c0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d4d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d4c0
test eax, eax
je 0x40d535
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d535
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d535
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d535
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d535
test esi, esi
mov eax, 1
jg 0x40d537
or eax, 0xffffffff
jmp 0x40d537
xor eax, eax
test eax, eax
jne 0x40d556
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00417c60
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d579
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d561
test eax, eax
je 0x40d5d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d5c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d5d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d5c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d5d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d5c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d5d6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d5d6
test esi, esi
mov eax, 1
jg 0x40d5d8
or eax, 0xffffffff
jmp 0x40d5d8
xor eax, eax
test eax, eax
jne 0x40d5f7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416eb0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d61d
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d605
test eax, eax
je 0x40d67a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d66c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d67a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d66c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d67a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d66c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d67a
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d67a
test esi, esi
mov eax, 1
jg 0x40d67c
or eax, 0xffffffff
jmp 0x40d67c
xor eax, eax
test eax, eax
jne 0x40d69b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416ba0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d6be
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d6a6
test eax, eax
je 0x40d71b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d70d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d71b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d70d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d71b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d70d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d71b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d71b
test esi, esi
mov eax, 1
jg 0x40d71d
or eax, 0xffffffff
jmp 0x40d71d
xor eax, eax
test eax, eax
jne 0x40d73c
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00417e80
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d75f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d747
test eax, eax
je 0x40d7bc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d7ae
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d7bc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d7ae
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d7bc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d7ae
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d7bc
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d7bc
test esi, esi
mov eax, 1
jg 0x40d7be
or eax, 0xffffffff
jmp 0x40d7be
xor eax, eax
test eax, eax
jne 0x40d7dd
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418120
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d800
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d7e8
test eax, eax
je 0x40d85d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d84f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d85d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d84f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d85d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d84f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d85d
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d85d
test esi, esi
mov eax, 1
jg 0x40d85f
or eax, 0xffffffff
jmp 0x40d85f
xor eax, eax
test eax, eax
jne 0x40d87e
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418240
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d8a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d890
test eax, eax
je 0x40d905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d8f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d8f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d8f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d905
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d905
test esi, esi
mov eax, 1
jg 0x40d907
or eax, 0xffffffff
jmp 0x40d907
xor eax, eax
test eax, eax
jne 0x40d926
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418500
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d949
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d931
test eax, eax
je 0x40d9a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d998
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d9a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d998
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d9a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40d998
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40d9a6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40d9a6
test esi, esi
mov eax, 1
jg 0x40d9a8
or eax, 0xffffffff
jmp 0x40d9a8
xor eax, eax
test eax, eax
jne 0x40d9c7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418000
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40d9ea
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40d9d2
test eax, eax
je 0x40da47
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40da39
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40da47
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40da39
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40da47
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40da39
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40da47
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40da47
test esi, esi
mov eax, 1
jg 0x40da49
or eax, 0xffffffff
jmp 0x40da49
xor eax, eax
test eax, eax
jne 0x40da68
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416d30
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40da8b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40da73
test eax, eax
je 0x40dae8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dada
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dae8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dada
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dae8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dada
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dae8
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40dae8
test esi, esi
mov eax, 1
jg 0x40daea
or eax, 0xffffffff
jmp 0x40daea
xor eax, eax
test eax, eax
jne 0x40db09
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004173a0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40db2c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40db14
test eax, eax
je 0x40db89
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40db7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40db89
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40db7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40db89
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40db7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40db89
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40db89
test esi, esi
mov eax, 1
jg 0x40db8b
or eax, 0xffffffff
jmp 0x40db8b
xor eax, eax
test eax, eax
jne 0x40dbaa
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004175a0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40dbcd
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40dbb5
test eax, eax
je 0x40dc2a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dc1c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dc2a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dc1c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dc2a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dc1c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dc2a
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40dc2a
test esi, esi
mov eax, 1
jg 0x40dc2c
or eax, 0xffffffff
jmp 0x40dc2c
xor eax, eax
test eax, eax
jne 0x40dc4b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00417760
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40dc78
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40dc60
test eax, eax
je 0x40dcd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dcc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dcd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dcc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dcd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dcc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dcd5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40dcd5
test esi, esi
mov eax, 1
jg 0x40dcd7
or eax, 0xffffffff
jmp 0x40dcd7
xor eax, eax
test eax, eax
jne 0x40dcf6
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004187d0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40dd1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40dd04
test eax, eax
je 0x40dd79
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dd79
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dd79
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40dd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dd79
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40dd79
test esi, esi
mov eax, 1
jg 0x40dd7b
or eax, 0xffffffff
jmp 0x40dd7b
xor eax, eax
test eax, eax
jne 0x40dd9a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004186c0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40ddc0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40dda8
test eax, eax
je 0x40de1d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40de0f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40de1d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40de0f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40de1d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40de0f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40de1d
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40de1d
test esi, esi
mov eax, 1
jg 0x40de1f
or eax, 0xffffffff
jmp 0x40de1f
xor eax, eax
test eax, eax
jne 0x40de3e
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004179b0
add esp, 0xc
jmp 0x40cf82
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40de68
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40de50
test eax, eax
je 0x40dec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40deb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40deb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40deb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40dec5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40dec5
test esi, esi
mov eax, 1
jg 0x40dec7
or eax, 0xffffffff
jmp 0x40dec7
xor eax, eax
test eax, eax
jne 0x40dee6
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00418900
add esp, 0xc
jmp 0x40cf82
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
push ecx
push edx
push ebp
call fcn.00418a60
add esp, 0xc
jmp 0x40cf82
cmp byte [ebp + 0x126], 3
jne 0x40df5e
test al, 2
jne 0x40df5e
push 0x41c410
push ebp
call fcn.00415200
add esp, 8
pop edi
pop esi
pop ebx
pop ebp
add esp, 0xa8
ret
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x40df35
push 0x41c42c
jmp 0x40df47
cmp byte [ebp + 0x126], 3
jne 0x40df50
test al, 2
jne 0x40df50
push 0x41c410
push ebp
call fcn.00415200
add esp, 8
mov eax, dword [esp + 0x10]
or dword [ebp + 0x68], 4
mov dword [ebp + 0x10c], eax
pop edi
pop esi
pop ebx
pop ebp
add esp, 0xa8
ret