Function at 0x40b3d0
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 0x40c691
cmp dword [esp + 0xb4], 0
je 0x40c691
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x40b46f
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.0040e1a0
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.0040a8c0
add esp, 0x18
test eax, eax
je 0x40b463
cmp edi, 4
jae 0x40b455
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.0040a8c0
add esp, 0xc
test eax, eax
je 0x40b455
push 0x41c4d0
jmp 0x40b45a
push 0x41c4a8
push ebp
call fcn.00413930
add esp, 8
cmp edi, 3
jae 0x40b46f
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.0040e1a0
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.00414e00
push ebp
mov dword [esp + 0x28], eax
call fcn.0040aa30
push 4
push edi
push ebp
call fcn.00413d80
add esp, 0x24
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40b709
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40b6f1
test eax, eax
je 0x40b766
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b758
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b766
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b758
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b766
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b758
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b766
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40b766
test esi, esi
mov eax, 1
jg 0x40b768
or eax, 0xffffffff
jmp 0x40b768
xor eax, eax
test eax, eax
jne 0x40b77b
mov eax, dword [ebp + 0x68]
test al, 8
je 0x40b77b
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 0x40b7a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40b790
test eax, eax
je 0x40b805
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b7f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b805
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b7f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b805
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b7f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b805
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40b805
test esi, esi
mov eax, 1
jg 0x40b807
or eax, 0xffffffff
jmp 0x40b807
xor eax, eax
test eax, eax
jne 0x40b826
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00414f20
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40b849
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40b831
test eax, eax
je 0x40b8a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b898
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b8a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b898
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b8a6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b898
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b8a6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40b8a6
test esi, esi
mov eax, 1
jg 0x40b8a8
or eax, 0xffffffff
jmp 0x40b8a8
xor eax, eax
test eax, eax
jne 0x40b8c7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00415280
add esp, 0xc
jmp 0x40b6b2
push edi
push ebp
call fcn.0040aee0
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x40bab6
lea ecx, [esp + 0x14]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40b8fc
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40b8e4
test eax, eax
je 0x40b959
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b94b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b959
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b94b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b959
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b94b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b959
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40b959
test esi, esi
mov eax, 1
jg 0x40b95b
or eax, 0xffffffff
jmp 0x40b95b
xor eax, eax
test eax, eax
jne 0x40b963
or dword [ebp + 0x68], 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004171a0
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40b99c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40b984
test eax, eax
je 0x40b9f9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b9eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b9f9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b9eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b9f9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40b9eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40b9f9
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40b9f9
test esi, esi
mov eax, 1
jg 0x40b9fb
or eax, 0xffffffff
jmp 0x40b9fb
xor eax, eax
test eax, eax
jne 0x40ba08
or dword [ebp + 0x68], 2
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40ba2b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40ba13
test eax, eax
je 0x40ba88
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40ba7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40ba88
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40ba7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40ba88
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40ba7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40ba88
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x40ba88
test esi, esi
mov eax, 1
jg 0x40ba8a
or eax, 0xffffffff
jmp 0x40ba8a
xor eax, eax
test eax, eax
jne 0x40b6b2
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x40c631
push 0x41c48c
push ebp
call fcn.00413930
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 0x40bad8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bac0
test eax, eax
je 0x40bb35
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bb27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bb35
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bb27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bb35
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bb27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bb35
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40bb35
test esi, esi
mov eax, 1
jg 0x40bb37
or eax, 0xffffffff
jmp 0x40bb37
xor eax, eax
test eax, eax
jne 0x40bb56
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
push ecx
push edx
push ebp
call fcn.004150e0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x14]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bb79
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bb61
test eax, eax
je 0x40bbd6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bbc8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bbd6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bbc8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bbd6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bbc8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bbd6
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x40bbd6
test esi, esi
mov eax, 1
jg 0x40bbd8
or eax, 0xffffffff
jmp 0x40bbd8
xor eax, eax
test eax, eax
je 0x40c657
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x40bbf0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bc08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bbf0
test eax, eax
je 0x40bc65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bc57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bc65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bc57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bc65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bc57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bc65
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40bc65
test esi, esi
mov eax, 1
jg 0x40bc67
or eax, 0xffffffff
jmp 0x40bc67
xor eax, eax
test eax, eax
jne 0x40bc86
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004163a0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bca9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bc91
test eax, eax
je 0x40bd06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bcf8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bd06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bcf8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bd06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bcf8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bd06
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40bd06
test esi, esi
mov eax, 1
jg 0x40bd08
or eax, 0xffffffff
jmp 0x40bd08
xor eax, eax
test eax, eax
jne 0x40bd27
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004155e0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bd4d
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bd35
test eax, eax
je 0x40bdaa
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bd9c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bdaa
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bd9c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bdaa
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bd9c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bdaa
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40bdaa
test esi, esi
mov eax, 1
jg 0x40bdac
or eax, 0xffffffff
jmp 0x40bdac
xor eax, eax
test eax, eax
jne 0x40bdcb
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004152d0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bdee
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bdd6
test eax, eax
je 0x40be4b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40be3d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40be4b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40be3d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40be4b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40be3d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40be4b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40be4b
test esi, esi
mov eax, 1
jg 0x40be4d
or eax, 0xffffffff
jmp 0x40be4d
xor eax, eax
test eax, eax
jne 0x40be6c
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004165c0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40be8f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40be77
test eax, eax
je 0x40beec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bede
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40beec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bede
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40beec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bede
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40beec
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40beec
test esi, esi
mov eax, 1
jg 0x40beee
or eax, 0xffffffff
jmp 0x40beee
xor eax, eax
test eax, eax
jne 0x40bf0d
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416860
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bf30
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bf18
test eax, eax
je 0x40bf8d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bf7f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bf8d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bf7f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bf8d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40bf7f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40bf8d
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40bf8d
test esi, esi
mov eax, 1
jg 0x40bf8f
or eax, 0xffffffff
jmp 0x40bf8f
xor eax, eax
test eax, eax
jne 0x40bfae
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416980
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40bfd8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40bfc0
test eax, eax
je 0x40c035
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c027
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c035
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c027
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c035
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c027
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c035
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c035
test esi, esi
mov eax, 1
jg 0x40c037
or eax, 0xffffffff
jmp 0x40c037
xor eax, eax
test eax, eax
jne 0x40c056
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416c40
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c079
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c061
test eax, eax
je 0x40c0d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c0c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c0d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c0c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c0d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c0c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c0d6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c0d6
test esi, esi
mov eax, 1
jg 0x40c0d8
or eax, 0xffffffff
jmp 0x40c0d8
xor eax, eax
test eax, eax
jne 0x40c0f7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416740
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c11a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c102
test eax, eax
je 0x40c177
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c169
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c177
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c169
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c177
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c169
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c177
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c177
test esi, esi
mov eax, 1
jg 0x40c179
or eax, 0xffffffff
jmp 0x40c179
xor eax, eax
test eax, eax
jne 0x40c198
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00415460
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c1bb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c1a3
test eax, eax
je 0x40c218
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c20a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c218
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c20a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c218
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c20a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c218
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c218
test esi, esi
mov eax, 1
jg 0x40c21a
or eax, 0xffffffff
jmp 0x40c21a
xor eax, eax
test eax, eax
jne 0x40c239
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00415ad0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c25c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c244
test eax, eax
je 0x40c2b9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c2ab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c2b9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c2ab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c2b9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c2ab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c2b9
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c2b9
test esi, esi
mov eax, 1
jg 0x40c2bb
or eax, 0xffffffff
jmp 0x40c2bb
xor eax, eax
test eax, eax
jne 0x40c2da
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00415ce0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c2fd
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c2e5
test eax, eax
je 0x40c35a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c34c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c35a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c34c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c35a
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c34c
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c35a
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c35a
test esi, esi
mov eax, 1
jg 0x40c35c
or eax, 0xffffffff
jmp 0x40c35c
xor eax, eax
test eax, eax
jne 0x40c37b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00415ea0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c3a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c390
test eax, eax
je 0x40c405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c405
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c3f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c405
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c405
test esi, esi
mov eax, 1
jg 0x40c407
or eax, 0xffffffff
jmp 0x40c407
xor eax, eax
test eax, eax
jne 0x40c426
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416f10
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c44c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c434
test eax, eax
je 0x40c4a9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c49b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c4a9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c49b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c4a9
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c49b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c4a9
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c4a9
test esi, esi
mov eax, 1
jg 0x40c4ab
or eax, 0xffffffff
jmp 0x40c4ab
xor eax, eax
test eax, eax
jne 0x40c4ca
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00416e00
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c4f0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c4d8
test eax, eax
je 0x40c54d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c53f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c54d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c53f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c54d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c53f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c54d
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c54d
test esi, esi
mov eax, 1
jg 0x40c54f
or eax, 0xffffffff
jmp 0x40c54f
xor eax, eax
test eax, eax
jne 0x40c56e
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.004160f0
add esp, 0xc
jmp 0x40b6b2
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x40c598
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x40c580
test eax, eax
je 0x40c5f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c5e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c5f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c5e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c5f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x40c5e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x40c5f5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x40c5f5
test esi, esi
mov eax, 1
jg 0x40c5f7
or eax, 0xffffffff
jmp 0x40c5f7
xor eax, eax
test eax, eax
jne 0x40c616
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
push edx
push eax
push ebp
call fcn.00417040
add esp, 0xc
jmp 0x40b6b2
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
push ecx
push edx
push ebp
call fcn.004171a0
add esp, 0xc
jmp 0x40b6b2
cmp byte [ebp + 0x126], 3
jne 0x40c68e
test al, 2
jne 0x40c68e
push 0x41c470
push ebp
call fcn.00413930
add esp, 8
pop edi
pop esi
pop ebx
pop ebp
add esp, 0xa8
ret
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x40c665
push 0x41c48c
jmp 0x40c677
cmp byte [ebp + 0x126], 3
jne 0x40c680
test al, 2
jne 0x40c680
push 0x41c470
push ebp
call fcn.00413930
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