Function at 0x40bbfa
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1dc
mov eax, 0x4817a2
call fcn.00459149
push 1
call fcn.00458532
mov dl, byte [ebp - 0x15]
lea edi, [ebp - 0xbf]
mov dword [ebp - 0x140], eax
xor eax, eax
mov dword [ebp - 0x11c], 0xdeccded1
mov dword [ebp - 0x118], 0x18e2e8e1
mov dword [ebp - 0x114], 0x182a2122
mov dword [ebp - 0x110], 0x83c2531
mov dword [ebp - 0x10c], 0x2d3c312f
mov dword [ebp - 0x108], 0x500b3439
mov dword [ebp - 0x104], 0x2c363534
mov dword [ebp - 0x100], 0x1d13e909
mov dword [ebp - 0xfc], 0x2280f3a
mov dword [ebp - 0xf8], 0x8583a2e
mov dword [ebp - 0xf4], 0x1c321f00
mov dword [ebp - 0xf0], 0x69060014
mov dword [ebp - 0xec], 0x2f190f0f
mov dword [ebp - 0xe8], 0x17140b1e
mov dword [ebp - 0xe4], 0xf222505
mov dword [ebp - 0xe0], 0x381e2313
mov dword [ebp - 0xdc], 0x2126191f
mov dword [ebp - 0xd8], 0x8051b0e
mov dword [ebp - 0xd4], 0x5862655f
mov dword [ebp - 0xd0], 0xc5e7d59
mov dword [ebp - 0xcc], 0xa4b5c6a
mov dword [ebp - 0xc8], 0x52704e7e
mov dword [ebp - 0xc4], 0x58ac714e
mov byte [ebp - 0xc0], 0x9a
stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 0x68], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [0x49f1d0]
mov edi, dword [0x49f1cc]
mov dword [ebp - 0x70], ecx
xor esi, esi
cmp esi, 0x6c
jae 0x40c671
mov al, byte [ebp + esi - 0x11c]
mov byte [ebp - 0x71], al
movzx edx, al
mov dword [ebp - 0x6c], edx
mov ebx, edx
cmp edi, esi
ja 0x40c669
lea eax, [ecx + 1]
cmp edi, eax
jae 0x40bd6f
lea eax, [esi + 0x6f415279]
mov dword [ebp - 0x68], eax
and eax, edx
add eax, eax
sub dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
add eax, edx
sub al, 0x4f
mov dword [ebp - 0x68], eax
jmp 0x40bdaa
je 0x40c5fd
inc eax
cmp edi, eax
je 0x40c5c3
lea eax, [ecx + 4]
cmp edi, eax
je 0x40c59e
lea eax, [ecx + 5]
cmp edi, eax
je 0x40c566
lea eax, [ecx + 7]
cmp edi, eax
je 0x40c54c
lea eax, [ecx + 3]
cmp edi, eax
je 0x40c532
cmp ecx, esi
ja 0x40c661
lea eax, [ecx + 0x40]
cmp edi, eax
jae 0x40bdd2
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x205bc3ed]
mov al, dl
and al, bl
add al, al
sub cl, al
sub cl, 0x7b
jmp 0x40bf97
lea eax, [ecx + 1]
cmp edi, eax
je 0x40c4fb
lea eax, [ecx + 7]
cmp edi, eax
je 0x40c4b6
lea eax, [ecx + 6]
cmp edi, eax
je 0x40c4a0
lea eax, [ecx + 9]
cmp edi, eax
je 0x40c481
lea eax, [ecx + edi]
cmp eax, esi
jbe 0x40c1cf
lea eax, [ecx + 0x2a]
cmp edi, eax
je 0x40c1c2
lea eax, [ecx + 0x28]
cmp edi, eax
je 0x40c1a4
lea eax, [ecx + 0x5a]
cmp edi, eax
je 0x40c18d
lea eax, [ecx + 8]
cmp edi, eax
je 0x40c180
lea eax, [ecx + 0x400]
cmp edi, eax
je 0x40c169
lea eax, [ecx + 6]
cmp edi, eax
je 0x40c152
lea eax, [ecx + 0x3e8]
cmp edi, eax
je 0x40c13a
lea eax, [ecx + 5]
cmp edi, eax
je 0x40c124
lea eax, [ecx + 0x200]
cmp edi, eax
je 0x40c117
lea eax, [ecx + 4]
cmp edi, eax
je 0x40be09
lea edi, [ecx + 9]
lea ecx, [edi + 0x80]
lea eax, [ecx + 0x1000]
mov dword [ebp - 0x70], ecx
cmp edi, eax
jb 0x40c645
lea eax, [ecx + 8]
cmp edi, eax
jb 0x40c626
lea eax, [ecx + 0x400]
cmp edi, eax
jb 0x40bfc5
lea eax, [ecx + 6]
cmp edi, eax
jb 0x40bfa4
lea eax, [ecx + 0x42]
cmp edi, eax
jb 0x40bf83
lea eax, [ecx + 1]
cmp edi, eax
jb 0x40c0fe
lea eax, [ecx + 0x40]
cmp edi, eax
jb 0x40c0e5
lea eax, [ecx + 0x2a]
cmp edi, eax
jb 0x40c0cc
lea eax, [ecx + 0x28]
cmp edi, eax
jb 0x40c0a9
lea eax, [ecx + 0x5a]
cmp edi, eax
jb 0x40be09
lea edi, [ecx + 3]
lea ecx, [edi + 0x20]
lea eax, [ecx + 0x64]
mov dword [ebp - 0x70], ecx
cmp edi, eax
ja 0x40c09c
lea eax, [ecx + 2]
cmp edi, eax
ja 0x40c084
lea eax, [ecx + 0x42]
cmp edi, eax
ja 0x40c06c
lea eax, [ecx + 1]
cmp edi, eax
ja 0x40c054
lea eax, [ecx + 0x40]
cmp edi, eax
ja 0x40c03d
lea eax, [ecx + 0x61]
cmp edi, eax
ja 0x40c022
lea eax, [ecx + 9]
cmp edi, eax
ja 0x40c015
lea eax, [ecx + 0x1000]
cmp edi, eax
ja 0x40bffe
lea eax, [ecx + 8]
cmp edi, eax
ja 0x40bfe6
lea eax, [ecx + 0x400]
cmp edi, eax
ja 0x40be09
lea edi, [ecx + 0x41]
lea ecx, [edi + 6]
mov dword [ebp - 0x70], ecx
jmp 0x40be09
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x6877c7b3]
mov al, bl
and al, dl
add al, al
sub cl, al
add cl, 0x1b
add cl, dl
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
jmp 0x40bdfe
mov cl, byte [ebp - 0x6c]
lea edx, [esi - 0x760add3f]
mov al, bl
and al, dl
add al, al
sub cl, al
sub cl, 0x47
add cl, dl
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
jmp 0x40bdaa
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x548d8231]
and bl, cl
mov al, dl
add bl, bl
add cl, 0x57
sub al, bl
add al, cl
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 0x68], al
jmp 0x40bd3f
lea ecx, [esi + 0x2de1f68]
mov al, 0x14
mov edx, dword [ebp - 0x6c]
and bl, cl
sub al, bl
add al, al
add al, dl
jmp 0x40c50e
mov edx, dword [ebp - 0x6c]
lea eax, [esi + 0x245b7a76]
and bl, al
add bl, bl
sub dl, bl
sub dl, 0x3a
jmp 0x40c541
lea ecx, [esi + 0x45d8d584]
mov al, 0x32
jmp 0x40c2c0
lea ecx, [esi + 0x67563092]
mov al, 1
mov edx, dword [ebp - 0x6c]
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
jmp 0x40c57a
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x772c7460]
and bl, al
add bl, bl
sub cl, bl
sub cl, 0x60
jmp 0x40c346
lea ecx, [esi - 0x55af1952]
mov dl, 0x1f
and bl, cl
sub dl, bl
add dl, dl
add dl, byte [ebp - 0x6c]
add dl, cl
jmp 0x40c36e
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x3431be44]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
sub al, 0x24
jmp 0x40c4c9
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x12b46336]
and bl, cl
mov al, 0x3d
sub al, bl
add al, al
add al, cl
jmp 0x40c5d1
lea ecx, [esi + 0xec8f7d8]
mov al, 0xc
jmp 0x40c23c
mov edx, dword [ebp - 0x6c]
lea eax, [esi - 0x1d7da485]
and bl, al
add bl, bl
sub dl, bl
sub dl, 0x5d
add dl, al
mov dword [ebp - 0x68], edx
mov byte [ebp + esi - 0x11c], dl
jmp 0x40c61d
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x3ffb689]
mov al, bl
and al, dl
add al, al
sub cl, al
add cl, 0x41
jmp 0x40c39d
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x257d1197]
mov al, bl
and al, dl
add al, al
sub cl, al
sub cl, 0x21
jmp 0x40c220
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x46fa6ca5]
mov al, bl
and al, dl
add al, al
sub cl, al
add cl, 0x7d
jmp 0x40c1ea
lea ecx, [esi - 0x3dd96872]
mov al, 0xf
jmp 0x40c23c
mov edx, dword [ebp - 0x6c]
lea eax, [esi - 0x1c5c0d64]
and bl, al
add bl, bl
sub al, bl
sub al, 0x44
jmp 0x40c5d1
lea ecx, [esi + 0x5214daa]
mov al, 0x2d
and bl, cl
sub al, bl
add al, al
mov edx, dword [ebp - 0x6c]
add al, dl
jmp 0x40c4c9
mov edx, dword [ebp - 0x6c]
lea eax, [esi + 0x269ea8b8]
and bl, al
add bl, bl
sub dl, bl
sub dl, 8
jmp 0x40c36c
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x481c03c6]
and bl, al
add bl, bl
sub cl, bl
sub cl, 0x6a
jmp 0x40c346
lea ecx, [esi + 0x69995ed4]
mov al, 0x1a
jmp 0x40c02a
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x74e9461e]
and bl, al
add bl, bl
sub cl, bl
sub cl, 0x2e
jmp 0x40c323
lea ecx, [esi - 0x536beb10]
mov al, 0x38
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x6c]
add al, cl
mov byte [ebp - 0x68], al
mov ecx, dword [ebp - 0x70]
jmp 0x40c546
lea ecx, [esi - 0x31ee9002]
mov al, 7
jmp 0x40bfee
lea eax, [ecx + 4]
cmp edi, eax
jae 0x40c22d
mov cl, byte [ebp - 0x6c]
lea edx, [esi + 0x6f415279]
mov al, bl
and al, dl
add al, al
sub cl, al
sub cl, 0x4f
add cl, dl
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
lea eax, [ecx + edi]
cmp eax, 0x28
je 0x40c46b
lea eax, [ecx + 0x1000]
cmp edi, eax
jbe 0x40c2eb
mov cl, byte [ebp - 0x6c]
lea edx, [esi - 0x7d6f592b]
mov al, bl
and al, dl
add al, al
sub cl, al
add cl, 0x2d
add dl, cl
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x68], edx
jmp 0x40c379
lea edx, [ecx + 1]
cmp edi, edx
jne 0x40c24f
lea ecx, [esi + 0x40b787da]
mov al, 5
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x6c]
add al, cl
mov byte [ebp - 0x68], al
jmp 0x40c498
lea eax, [ecx + 3]
cmp edi, eax
jne 0x40c26e
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x2432e42]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
sub al, 0x32
jmp 0x40c4c9
lea eax, [edx + 1]
cmp edi, eax
jne 0x40c28e
lea eax, [esi - 0x453de45e]
and bl, al
add bl, bl
sub al, bl
sub al, 0x6e
add al, byte [ebp - 0x6c]
mov byte [ebp - 0x68], al
jmp 0x40c5b2
lea eax, [ecx + 5]
cmp edi, eax
jne 0x40c2b1
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x66bb3f6c]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0xc
jmp 0x40c57a
lea eax, [ecx + 6]
cmp edi, eax
jne 0x40c2d3
lea ecx, [esi + 0x77c76586]
mov al, 0x2b
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x6c]
add al, cl
mov byte [ebp - 0x68], al
jmp 0x40c560
lea eax, [ecx + 7]
cmp edi, eax
jne 0x40c1f2
lea ecx, [esi + 0x34ccaf6a]
mov al, 0xd
jmp 0x40bfee
lea edx, [ecx + 1]
cmp edi, edx
jne 0x40c30a
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x61134bc7]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
sub al, 0x71
jmp 0x40c50e
lea eax, [ecx + 3]
cmp edi, eax
jne 0x40c32d
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x1e1895ab]
and bl, al
add bl, bl
sub cl, bl
add cl, 0x53
add cl, al
mov byte [ebp - 0x68], cl
jmp 0x40c560
lea eax, [edx + 1]
cmp edi, eax
jne 0x40c353
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x24e22071]
and bl, al
add bl, bl
sub cl, bl
add cl, 0x17
add cl, al
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
jmp 0x40c5b2
lea eax, [ecx + 5]
cmp edi, eax
jne 0x40c376
mov edx, dword [ebp - 0x6c]
lea eax, [esi - 0x465f7b7f]
and bl, al
add bl, bl
sub dl, bl
add dl, 0x79
add dl, al
mov dword [ebp - 0x68], edx
jmp 0x40c5b7
mov edx, dword [ebp - 0x68]
cmp edi, 8
jae 0x40c44c
lea eax, [ecx + 0x64]
cmp edi, eax
jbe 0x40c3ca
mov cl, byte [ebp - 0x6c]
lea edx, [esi - 0x5d13953e]
mov al, bl
and al, dl
add al, al
sub cl, al
sub cl, 0x4e
add dl, cl
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x68], edx
cmp ecx, 2
jb 0x40c0c0
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x5406dc36]
and bl, cl
mov al, 3
sub al, bl
add al, al
add al, dl
add al, cl
add al, al
jmp 0x40c510
lea eax, [ecx + 1]
cmp edi, eax
jne 0x40c3de
lea ecx, [esi - 0x7e90f04c]
mov al, 0xa
jmp 0x40c23c
lea eax, [ecx + 3]
cmp edi, eax
jne 0x40c3fd
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x3e745998]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
sub al, 0x28
jmp 0x40c4c9
lea eax, [ecx + 4]
cmp edi, eax
jne 0x40c420
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x2603b792]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 2
jmp 0x40c57a
lea eax, [ecx + 2]
cmp edi, eax
jne 0x40c434
lea ecx, [esi - 0x478112a0]
mov al, 0x30
jmp 0x40c2c0
lea eax, [ecx + 8]
cmp edi, eax
jne 0x40c3a5
lea ecx, [esi + 0x75843744]
mov al, 0x12
jmp 0x40bfee
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x32898128]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x18
add bl, byte [ebp - 0x71]
jmp 0x40c57a
lea ecx, [esi + 0x110c261a]
mov al, 0x25
and bl, cl
sub al, bl
add al, al
sub al, byte [ebp - 0x71]
jmp 0x40c148
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0xd0c6f91]
and bl, al
add bl, bl
sub cl, bl
sub cl, 9
add cl, al
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
jmp 0x40c611
mov edx, dword [ebp - 0x6c]
lea eax, [esi + 0x1470eb7d]
and bl, al
add bl, bl
sub al, bl
sub al, 0x6b
jmp 0x40c5d1
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x35ee468b]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
add al, 0x33
add al, cl
mov byte [ebp - 0x68], al
mov ebx, dword [ebp - 0x70]
lea ecx, [esi - 0x7fb2876d]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 5
add cl, dl
inc ebx
movzx eax, cl
add eax, ebx
mov byte [ebp + esi - 0x11c], cl
mov dword [ebp - 0x70], ebx
sub esi, eax
jmp 0x40c5d6
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x1219721]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
sub al, 0x19
add al, cl
mov byte [ebp - 0x68], al
lea ecx, [esi - 0x3cb7d151]
mov al, cl
and al, dl
add al, al
sub cl, al
add cl, 0x37
add cl, dl
mov byte [ebp + esi - 0x11c], cl
jmp 0x40c1ba
lea eax, [esi + 0x63567a09]
and bl, al
add bl, bl
sub dl, bl
sub dl, 0x3f
add dl, al
mov byte [ebp - 0x68], dl
inc ecx
mov dword [ebp - 0x70], ecx
jmp 0x40c560
lea eax, [esi - 0x7b2c2ae9]
and bl, al
add bl, bl
sub dl, bl
add dl, 0x5f
add dl, al
mov byte [ebp - 0x68], dl
dec esi
jmp 0x40c61d
lea ecx, [esi - 0x59aecfdb]
mov al, dl
and bl, cl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 3
mov dword [ebp - 0x68], ebx
lea ecx, [esi - 0x5e352c5f]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x67
add cl, dl
add cl, bl
mov byte [ebp + esi - 0x11c], cl
jmp 0x40c34b
lea eax, [esi - 0x383174cd]
and bl, al
add bl, bl
sub dl, bl
sub dl, 0x65
add dl, al
mov byte [ebp - 0x68], dl
mov edx, dword [ebp - 0x68]
add edi, ecx
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add esi, ecx
jmp 0x40c61d
lea eax, [esi + 0x2c469c5d]
and bl, al
add bl, bl
sub al, bl
add al, 0x75
add al, dl
mov byte [ebp - 0x68], al
lea ecx, [esi - 0x107134f4]
mov al, cl
and al, dl
add al, al
sub cl, al
or eax, 0xffffffff
sub cl, 0x54
add cl, dl
inc edi
sub eax, edi
mov byte [ebp + esi - 0x11c], cl
add esi, eax
jmp 0x40c498
lea eax, [esi + 0x4dc3f76b]
and bl, al
add bl, bl
sub dl, bl
add dl, 0x13
add dl, al
mov byte [ebp - 0x68], dl
movzx eax, byte [ebp + esi - 0x11c]
add eax, ecx
add esi, eax
mov ecx, dword [ebp - 0x70]
inc esi
jmp 0x40bd29
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x33102723]
and bl, al
add bl, bl
sub cl, bl
sub cl, 0xb
add cl, al
mov byte [ebp - 0x68], cl
mov ecx, dword [ebp - 0x70]
jmp 0x40bd27
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x1192cc15]
and bl, al
add bl, bl
sub cl, bl
sub cl, 0x6d
add cl, al
mov byte [ebp - 0x68], cl
jmp 0x40bd18
lea eax, [ebp + 0x1636830]
jmp 0x40c677
lea eax, [ebp + 0x124baa9]
jmp 0x40c677
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x158]
call fcn.00403242
and dword [ebp - 4], 0
lea edx, [ebp - 0x158]
lea ecx, [ebp - 0x1a0]
call fcn.0040b7ba
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.0040b7ba
lea ecx, [ebp - 0x1a0]
call fcn.004032a9
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 4
call fcn.004032a9
and dword [ebp - 0x7b], 0
mov cl, byte [ebp - 0x15]
mov dword [ebp - 0xa8], 0xe1fac5c1
mov dword [ebp - 0xa4], 0xdeccfdf4
mov dword [ebp - 0xa0], 0xc2c4f7cb
mov dword [ebp - 0x9c], 0xccce31d5
mov dword [ebp - 0x98], 0xe4e8c9f5
mov dword [ebp - 0x94], 0xffec17f6
mov dword [ebp - 0x90], 0xc5daeec9
mov dword [ebp - 0x8c], 0xc5f4fccd
mov dword [ebp - 0x88], 0xd9e4e0ea
mov dword [ebp - 0x84], 0xe9cadefd
mov dword [ebp - 0x80], 0x612e9f4
mov byte [ebp - 0x7c], 0x40
mov eax, dword [0x49f1d0]
mov edi, dword [0x49f1cc]
mov dword [ebp - 0x70], eax
xor esi, esi
mov dword [ebp - 0xac], esi
cmp esi, 0x31
jae 0x40d0a9
mov dl, byte [ebp + esi - 0xa8]
mov byte [ebp - 0x71], dl
movzx edx, dl
mov dword [ebp - 0x68], edx
mov ebx, edx
cmp edi, esi
ja 0x40d0a1
lea esi, [eax + 1]
mov dword [ebp - 0x6c], esi
cmp edi, esi
mov esi, dword [ebp - 0xac]
jae 0x40c794
lea ecx, [esi - 0x341dbbae]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
add ecx, edx
sub cl, 0x3e
jmp 0x40c7de
cmp edi, dword [ebp - 0x6c]
je 0x40d036
add eax, 3
cmp edi, eax
je 0x40cfcf
mov eax, dword [ebp - 0x70]
add eax, 5
cmp edi, eax
je 0x40cfa8
mov eax, dword [ebp - 0x70]
add eax, 7
cmp edi, eax
je 0x40cf8f
mov eax, dword [ebp - 0x6c]
inc eax
cmp edi, eax
je 0x40cf74
mov eax, dword [ebp - 0x70]
add eax, 4
cmp edi, eax
je 0x40cf3f
mov edx, dword [ebp - 0x70]
cmp edx, esi
ja 0x40d099
lea eax, [edx + 0x80]
cmp edi, eax
jae 0x40c80c
mov cl, byte [ebp - 0x68]
lea edx, [esi - 0x46706546]
mov al, dl
and al, bl
add al, al
sub cl, al
sub dl, 0x16
jmp 0x40c9cc
lea eax, [edx + 1]
cmp edi, eax
je 0x40cf32
inc eax
cmp edi, eax
je 0x40cf1b
lea eax, [edx + 3]
cmp edi, eax
je 0x40cf0e
lea eax, [edx + 5]
cmp edi, eax
je 0x40cf01
lea eax, [edi + edx]
cmp eax, esi
jbe 0x40cc2f
lea eax, [edx + 0x20]
cmp edi, eax
je 0x40cc1f
lea eax, [edx + 0x200]
cmp edi, eax
je 0x40cc05
lea eax, [edx + 0x400]
cmp edi, eax
je 0x40cbf8
lea eax, [edx + 0x2a]
cmp edi, eax
je 0x40cbdc
lea eax, [edx + 6]
cmp edi, eax
je 0x40cbc3
lea eax, [edx + 9]
cmp edi, eax
je 0x40cba9
lea eax, [edx + 0x42]
cmp edi, eax
je 0x40cb99
lea eax, [edx + 0x80]
cmp edi, eax
je 0x40cb7f
lea eax, [edx + 0x7a]
cmp edi, eax
je 0x40cb72
lea eax, [edx + 3]
cmp edi, eax
je 0x40c841
lea edi, [edx + 2]
lea edx, [edi + 5]
lea eax, [edx + 9]
mov dword [ebp - 0x70], edx
cmp edi, eax
jb 0x40d081
lea eax, [edx + 0x42]
cmp edi, eax
jb 0x40d066
lea eax, [edx + 0x80]
cmp edi, eax
jb 0x40c9f1
lea eax, [edx + 0x7a]
cmp edi, eax
jb 0x40c9d6
lea ecx, [edx + 0x5a]
cmp edi, ecx
jb 0x40c9b9
lea eax, [edx + 5]
cmp edi, eax
jb 0x40cb59
lea eax, [edx + 0x20]
cmp edi, eax
jb 0x40cb4c
lea eax, [edx + 0x40]
cmp edi, eax
jb 0x40cb0c
lea eax, [edx + 0x400]
cmp edi, eax
jb 0x40caed
lea eax, [edx + 0x61]
cmp edi, eax
jb 0x40c841
mov edi, ecx
lea edx, [edi + 2]
lea eax, [edx + 5]
mov dword [ebp - 0x70], edx
cmp edi, eax
ja 0x40cad4
lea eax, [edx + 8]
cmp edi, eax
ja 0x40caba
lea eax, [edx + 0x40]
cmp edi, eax
ja 0x40caaa
lea eax, [edx + 0x400]
cmp edi, eax
ja 0x40ca90
lea ecx, [edx + 0x61]
cmp edi, ecx
ja 0x40ca76
lea eax, [edx + 2]
cmp edi, eax
ja 0x40ca5a
lea eax, [edx + 4]
cmp edi, eax
ja 0x40ca41
lea eax, [edx + 0x10]
cmp edi, eax
ja 0x40ca27
lea eax, [edx + 0x80]
cmp edi, eax
ja 0x40ca0e
lea eax, [edx + 0x3e8]
cmp edi, eax
ja 0x40c841
mov edi, ecx
lea edx, [edi + 0x5a]
mov dword [ebp - 0x70], edx
jmp 0x40c841
lea edx, [esi - 0x4c24e77a]
mov al, bl
and al, dl
mov cl, 0x2b
sub cl, al
add cl, cl
add cl, byte [ebp - 0x68]
add cl, dl
mov edx, dword [ebp - 0x70]
jmp 0x40c836
mov cl, byte [ebp - 0x68]
lea edx, [esi + 0x1c168fe2]
mov al, bl
and al, dl
add al, al
sub cl, al
sub cl, 0x2e
add cl, dl
jmp 0x40c7de
mov edx, dword [ebp - 0x68]
lea ecx, [esi - 0x7badf8c2]
and bl, cl
mov al, 0x27
sub al, bl
add al, al
add al, dl
add cl, al
mov eax, dword [ebp - 0x70]
jmp 0x40c762
lea ecx, [esi - 0x33832a30]
mov al, 0x28
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
lea ebx, [ecx + eax]
jmp 0x40cf55
mov edx, dword [ebp - 0x68]
lea eax, [esi + 0x34b84d2c]
and bl, al
add bl, bl
sub dl, bl
lea ebx, [eax + edx]
sub bl, 0x34
jmp 0x40cf86
lea ecx, [esi - 0x630c3b78]
mov al, 0x24
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
lea ebx, [ecx + eax]
jmp 0x40cfa2
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x52f3be4]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x3c
jmp 0x40cec4
lea edx, [esi + 0x6d6ab340]
mov al, dl
and al, bl
mov bl, 0x20
sub bl, al
add bl, bl
add bl, byte [ebp - 0x68]
add bl, dl
jmp 0x40cfbb
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x2a59d564]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x44
jmp 0x40cfc0
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x3de1a1f8]
mov al, 0x1c
jmp 0x40cfda
mov edx, dword [ebp - 0x68]
lea eax, [esi - 0x59e2e6ac]
and bl, al
add bl, bl
sub al, bl
lea ebx, [edx + eax]
sub bl, 0x4c
jmp 0x40d012
lea ecx, [esi + 0xe5890b0]
mov al, 0x18
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
lea ebx, [ecx + eax]
jmp 0x40d04c
lea ecx, [esi + 0x12ed3b16]
mov al, 0x33
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
add cl, al
mov byte [ebp + esi - 0xa8], cl
jmp 0x40d05d
mov cl, byte [ebp - 0x68]
lea edx, [esi + 0x7b28b272]
mov al, bl
and al, dl
sub dl, 0x1e
add al, al
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
cmp edx, 0x1000
jb 0x40cb00
lea ecx, [esi + 0x3c2738ac]
mov dword [ebp - 0x68], eax
and bl, cl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
add bl, bl
sub bl, 0x68
jmp 0x40cf55
lea edx, [esi - 0x1c9bd632]
mov cl, 0x2f
jmp 0x40cc6e
mov cl, byte [ebp - 0x68]
lea edx, [esi + 0x4b9fa12a]
mov al, bl
and al, dl
add al, al
sub cl, al
sub dl, 0x26
jmp 0x40cc4a
lea ecx, [esi + 0x595da05c]
mov al, 0x3e
jmp 0x40cadc
mov edx, dword [ebp - 0x68]
lea eax, [esi - 0x3e66e848]
and bl, al
add bl, bl
sub al, bl
lea ebx, [edx + eax]
sub bl, 8
jmp 0x40d012
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x29d48f14]
mov al, 0x3a
jmp 0x40cfd7
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x6deff990]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x10
jmp 0x40cfc0
lea ecx, [esi - 0x5b48234]
mov al, 0x36
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
lea ebx, [ecx + eax]
jmp 0x40cfbe
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x6286f528]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x18
jmp 0x40cec4
lea ecx, [esi - 0x353d937c]
mov al, 0x32
jmp 0x40ca49
mov ecx, dword [ebp - 0x68]
lea eax, [esi + 0x32fde3e0]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x20
jmp 0x40cf89
mov edx, dword [ebp - 0x68]
lea ecx, [esi - 0x64c6a4c4]
mov al, 0x2e
jmp 0x40cf47
lea eax, [edx + 0x10]
cmp edi, eax
jae 0x40ccb1
mov cl, byte [ebp - 0x68]
lea edx, [esi - 0x341dbbae]
mov al, bl
and al, dl
add al, al
sub cl, al
sub dl, 0x3e
add cl, dl
mov edx, dword [ebp - 0x70]
lea eax, [edi + edx]
cmp eax, 1
je 0x40cee5
lea eax, [edx + 4]
cmp edi, eax
jbe 0x40cd3b
lea edx, [esi - 0x6b15b876]
mov cl, 0x1d
mov al, bl
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x68]
add cl, dl
mov edx, dword [ebp - 0x70]
cmp edi, 0x41
jae 0x40ceaa
lea eax, [edx + 1]
cmp edi, eax
jbe 0x40ce0d
lea edx, [esi + 0x4e79e244]
mov al, bl
and al, dl
mov cl, 0x12
sub cl, al
mov eax, dword [ebp - 0x68]
add cl, cl
add cl, al
add cl, dl
mov edx, dword [ebp - 0x70]
jmp 0x40cb28
lea eax, [edx + 1]
cmp edi, eax
jne 0x40ccd2
mov ecx, dword [ebp - 0x68]
lea eax, [esi + 0x731f3574]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x2c
jmp 0x40d04c
inc eax
cmp edi, eax
jne 0x40ccf6
mov edx, dword [ebp - 0x68]
lea ecx, [esi - 0x5d57b944]
and bl, cl
mov dword [ebp - 0x68], edx
add bl, bl
mov al, dl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x24
jmp 0x40cfe5
lea eax, [edx + 3]
cmp edi, eax
jne 0x40cd16
lea ecx, [esi + 0x3a6ccf60]
mov al, 0x30
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
lea ebx, [ecx + eax]
jmp 0x40cfc0
lea eax, [edx + 5]
cmp edi, eax
jne 0x40cc4f
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x2dcea7fc]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x1c
jmp 0x40cfbe
lea eax, [edx + 1]
cmp edi, eax
jne 0x40cd5f
mov eax, dword [ebp - 0x68]
lea ecx, [esi + 0x2caed02e]
and bl, cl
mov dword [ebp - 0x68], eax
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x42
jmp 0x40cf55
inc eax
cmp edi, eax
jne 0x40cd7e
mov ecx, dword [ebp - 0x68]
lea eax, [esi + 0x5c37e176]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x3a
jmp 0x40cfa2
lea eax, [edx + 3]
cmp edi, eax
jne 0x40cda0
lea ecx, [esi - 0xc0395e6]
mov al, 0x25
mov edx, dword [ebp - 0x68]
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
jmp 0x40cec4
lea eax, [edx + 4]
cmp edi, eax
jne 0x40cdc6
mov edx, dword [ebp - 0x68]
lea ecx, [esi - 0x44b5fbfa]
and bl, cl
mov dword [ebp - 0x68], edx
add bl, bl
mov al, dl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x2a
jmp 0x40cfe5
lea eax, [edx + 5]
cmp edi, eax
jne 0x40cde8
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x530e8caa]
and bl, cl
mov al, 0x2d
sub al, bl
add al, al
lea ebx, [ecx + eax]
add bl, dl
jmp 0x40d012
lea eax, [edx + 8]
cmp edi, eax
jne 0x40cc7e
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x152ceab2]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x22
jmp 0x40d04c
jne 0x40ce29
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x19c19518]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x58
jmp 0x40d04c
inc eax
cmp edi, eax
jne 0x40ce4d
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x15c77c30]
and bl, cl
mov dword [ebp - 0x68], edx
add bl, bl
mov al, dl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x50
jmp 0x40cfe5
lea eax, [edx + 5]
cmp edi, eax
jne 0x40ce61
lea ecx, [esi - 0x22eae9e4]
mov al, 0x1e
jmp 0x40cd8d
lea eax, [edx + 7]
cmp edi, eax
jne 0x40ce82
mov ecx, dword [ebp - 0x68]
lea eax, [esi + 0x74d99ec0]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0x40
jmp 0x40cfa2
lea eax, [edx + 4]
cmp edi, eax
jne 0x40cb25
mov eax, dword [ebp - 0x68]
lea ecx, [esi - 0x5b9d4ff8]
and bl, cl
mov dword [ebp - 0x68], eax
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x38
jmp 0x40cf55
mov edx, dword [ebp - 0x68]
lea ecx, [esi - 0x2c143eb0]
and bl, cl
mov al, dl
add bl, bl
sub al, bl
lea ebx, [ecx + eax]
sub bl, 0x30
add bl, byte [ebp - 0x71]
lea ecx, [esi - 0x6031fa5e]
mov al, cl
and al, dl
sub dl, 0x6e
add al, al
sub cl, al
add cl, bl
add cl, dl
mov byte [ebp + esi - 0xa8], cl
jmp 0x40cfbb
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x6bb049f4]
and bl, cl
mov dword [ebp - 0x68], edx
mov al, 0x2a
sub al, bl
add al, al
sub al, byte [ebp - 0x71]
jmp 0x40cfe0
lea ecx, [esi - 0x4f99ba12]
mov al, 0x3f
jmp 0x40cbcb
lea ecx, [esi - 0x7f22cb5a]
mov al, 0x3b
jmp 0x40ca49
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x16e753fe]
and bl, al
add bl, bl
sub cl, bl
lea ebx, [eax + ecx]
sub bl, 0xe
jmp 0x40cf89
mov edx, dword [ebp - 0x68]
lea ecx, [esi + 0x5154235e]
mov al, 0x37
jmp 0x40cf47
lea ecx, [esi + 0x21cb1216]
mov al, 0x33
and bl, cl
mov dword [ebp - 0x68], edx
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
mov al, byte [ebp - 0x68]
lea edx, [esi + 0x8097cfe]
and al, dl
mov cl, 7
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x68]
mov byte [ebp + esi - 0xa8], cl
jmp 0x40cf86
lea eax, [esi - 0x75f9768e]
and bl, al
add bl, bl
sub dl, bl
lea ebx, [eax + edx]
sub bl, 0x1e
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebp - 0x70], edx
jmp 0x40cfa2
lea ecx, [esi - 0xdbdff32]
mov al, 0x2f
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
dec esi
jmp 0x40d058
lea ecx, [esi - 0x3d47107a]
mov al, 0x2b
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
mov edx, dword [ebp - 0x70]
add edi, edx
or ecx, 0xffffffff
movzx eax, bl
sub ecx, eax
add esi, ecx
jmp 0x40d058
lea ecx, [esi - 0x6cd021c2]
mov al, 0x27
mov dword [ebp - 0x68], edx
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
lea ecx, [esi + 0x37928e46]
mov al, cl
and al, dl
mov dl, 0xb
sub dl, al
add dl, dl
add dl, cl
mov ecx, dword [ebp - 0x70]
add dl, byte [ebp - 0x68]
inc ecx
movzx eax, dl
mov byte [ebp + esi - 0xa8], dl
add eax, ecx
mov edx, dword [ebp - 0x68]
sub esi, eax
mov dword [ebp - 0x70], ecx
lea ecx, [esi + 0x374d298]
mov al, cl
and al, dl
sub dl, 0x28
add al, al
sub cl, al
or eax, 0xffffffff
add cl, dl
inc edi
sub eax, edi
mov byte [ebp + esi - 0xa8], cl
add esi, eax
jmp 0x40d049
lea ecx, [esi + 0x63a6ccf6]
mov al, 0x23
and bl, cl
sub al, bl
add al, al
lea ebx, [edx + eax]
add bl, cl
mov edx, dword [ebp - 0x70]
movzx eax, byte [ebp + esi - 0xa8]
add eax, edx
add esi, eax
mov dword [ebp - 0x6c], ebx
mov ecx, ebx
mov eax, dword [ebp - 0x70]
inc esi
jmp 0x40c746
mov ecx, dword [ebp - 0x68]
lea eax, [esi - 0x13728166]
and bl, al
sub al, 0x36
add bl, bl
sub cl, bl
add cl, al
mov eax, dword [ebp - 0x70]
jmp 0x40c744
lea ecx, [esi + 0x54c8f5f6]
mov al, 0x23
and bl, cl
sub al, bl
add al, al
add al, byte [ebp - 0x68]
add cl, al
jmp 0x40c736
lea eax, [ebp + 0x145e670]
jmp 0x40d0af
lea eax, [ebp + 0x1682ac2]
jmp 0x40d0af
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x170]
call fcn.00403242
lea edx, [ebp - 0x170]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1b8]
call fcn.0040b7ba
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4c]
call fcn.0040b7ba
lea ecx, [ebp - 0x1b8]
call fcn.004032a9
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 9
call fcn.004032a9
mov cl, byte [ebp - 0x15]
lea edi, [ebp - 0x12b]
mov dword [ebp - 0x13c], 0xb6d6ddca
xor eax, eax
mov dword [ebp - 0x138], 0x535448c1
mov dword [ebp - 0x134], 0x38442143
mov dword [ebp - 0x130], 0x1c045f46
mov byte [ebp - 0x12c], 0xd6
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x49f1d0]
mov edi, dword [0x49f1cc]
mov dword [ebp - 0x70], eax
xor esi, esi
cmp esi, 0x20
jae 0x40da95
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x71], dl
movzx ebx, dl
mov edx, ebx
mov dword [ebp - 0x6c], edx
cmp edi, esi
ja 0x40da8d
inc eax
cmp edi, eax
jae 0x40d188
lea ecx, [esi + 0x600ab97b]
mov eax, ecx
and eax, ebx
add eax, eax
sub ecx, eax
add ecx, ebx
sub cl, 0x5d
jmp 0x40d3ba
je 0x40da1e
inc eax
cmp edi, eax
je 0x40d9e1
mov eax, dword [ebp - 0x70]
add eax, 4
cmp edi, eax
je 0x40d9bd
mov eax, dword [ebp - 0x70]
add eax, 5
cmp edi, eax
je 0x40d983
mov eax, dword [ebp - 0x70]
add eax, 3
cmp edi, eax
je 0x40d968
mov edx, dword [ebp - 0x70]
lea eax, [edx + 6]
cmp edi, eax
je 0x40d92c
cmp edx, esi
ja 0x40da85
lea eax, [edx + 0xa]
cmp edi, eax
jae 0x40d1f7
lea edx, [esi - 0x1f1ec8e9]
mov cl, bl
mov al, dl
and al, byte [ebp - 0x6c]
add al, al
sub cl, al
add dl, 0x5f
jmp 0x40d39a
lea eax, [edx + 1]
cmp edi, eax
je 0x40d913
inc eax
cmp edi, eax
je 0x40d8f9
lea eax, [edx + 3]
cmp edi, eax
je 0x40d8e0
lea eax, [edx + 4]
cmp edi, eax
je 0x40d8c7
lea eax, [edi + edx]
cmp eax, esi
jbe 0x40d61b
lea eax, [edx + 0x7a]
cmp edi, eax
je 0x40d601
lea eax, [edx + 0xa]
cmp edi, eax
je 0x40d5e1
lea eax, [edx + 0x61]
cmp edi, eax
je 0x40d5c7
lea eax, [edx + 9]
cmp edi, eax
je 0x40d5ae
lea eax, [edx + 0x80]
cmp edi, eax
je 0x40d594
lea eax, [edx + 3]
cmp edi, eax
je 0x40d577
lea eax, [edx + 0x64]
cmp edi, eax
je 0x40d55e
lea eax, [edx + 2]
cmp edi, eax
je 0x40d54b
lea eax, [edx + 0x10]
cmp edi, eax
je 0x40d531
lea edi, [edx + 5]
lea edx, [edi + 0xa]
lea eax, [edx + 0x40]
mov dword [ebp - 0x70], edx
cmp edi, eax
jb 0x40da6b
lea eax, [edx + 0x2a]
cmp edi, eax
jb 0x40da4e
lea eax, [edx + 0x28]
cmp edi, eax
jb 0x40d3c2
lea eax, [edx + 0x5a]
cmp edi, eax
jb 0x40d3a4
lea eax, [edx + 8]
cmp edi, eax
jb 0x40d386
lea eax, [edx + 0x400]
cmp edi, eax
jb 0x40d518
lea eax, [edx + 6]
cmp edi, eax
jb 0x40d4ff
lea eax, [edx + 0x3e8]
cmp edi, eax
jb 0x40d4e6
lea eax, [edx + 1]
cmp edi, eax
jb 0x40d4c5
lea edi, [edx + 0x200]
lea edx, [edi + 0x2a]
lea eax, [edx + 4]
mov dword [ebp - 0x70], edx
cmp edi, eax
ja 0x40d4ab
lea eax, [edx + 0x80]
cmp edi, eax
ja 0x40d491
lea eax, [edx + 3]
cmp edi, eax
ja 0x40d47b
lea eax, [edx + 0x20]
cmp edi, eax
ja 0x40d463
lea eax, [edx + 0x41]
cmp edi, eax
ja 0x40d445
lea eax, [edx + 0x10]
cmp edi, eax
ja 0x40d42d
lea eax, [edx + 0x7a]
cmp edi, eax
ja 0x40d413
lea eax, [edx + 5]
cmp edi, eax
ja 0x40d3f9
lea eax, [edx + 0x200]
cmp edi, eax
ja 0x40d3df
lea edi, [edx + 9]
lea edx, [edi + 0x80]
mov dword [ebp - 0x70], edx
jmp 0x40d22c
mov al, byte [ebp - 0x6c]
lea edx, [esi + 0x25d2b5c9]
and al, dl
mov cl, bl
add al, al
sub cl, al
sub dl, 0x7f
add cl, dl
mov edx, dword [ebp - 0x70]
jmp 0x40d221
mov al, byte [ebp - 0x6c]
lea edx, [esi + 0x65bd42d3]
and al, dl
mov cl, bl
add al, al
add dl, 0x3b
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x70]
jmp 0x40d1cf
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x5a583023]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
sub al, 0xb
add cl, al
mov eax, dword [ebp - 0x70]
jmp 0x40d15e
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x709b8b8]
and cl, al
add cl, cl
sub al, cl
lea ecx, [ebx + eax]
sub cl, 8
jmp 0x40d945
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x46f445c2]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x4e
jmp 0x40d90e
lea ecx, [esi - 0x79212d34]
mov al, 0x36
mov edx, dword [ebp - 0x6c]
and dl, cl
sub al, dl
add al, al
add al, bl
add cl, al
jmp 0x40d97a
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x3936a02a]
and dl, cl
mov al, 0x13
sub al, dl
add al, al
add al, bl
jmp 0x40d994
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x6b3ece0]
and cl, al
sub al, 0x20
add cl, cl
sub bl, cl
add bl, al
mov byte [ebp - 0x68], bl
mov eax, dword [ebp - 0x68]
jmp 0x40d9d3
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x469e79ea]
and cl, al
sub al, 0x66
add cl, cl
sub bl, cl
add al, bl
jmp 0x40d58c
lea ecx, [esi - 0x7976f90c]
mov al, 0x2a
mov edx, dword [ebp - 0x6c]
and dl, cl
sub al, dl
add al, al
jmp 0x40d892
lea edx, [esi - 0x398c6c02]
mov cl, 7
mov al, dl
and al, byte [ebp - 0x6c]
sub cl, al
add cl, cl
add cl, bl
add cl, dl
jmp 0x40d9f4
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x65e2108]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x38
jmp 0x40da33
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x262881a1]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x67
mov byte [ebp + esi - 0x13c], cl
jmp 0x40da45
mov al, byte [ebp - 0x6c]
lea edx, [esi + 0x66130eab]
and al, dl
mov cl, bl
add al, al
sub cl, al
add dl, 0x53
jmp 0x40d69c
mov al, byte [ebp - 0x6c]
lea edx, [esi - 0x5a02644b]
and al, dl
mov cl, bl
add al, al
sub cl, al
add dl, 0xd
jmp 0x40d66a
mov al, byte [ebp - 0x6c]
lea edx, [esi - 0x1a17d741]
and al, dl
mov cl, bl
add al, al
sub cl, al
sub dl, 0x39
jmp 0x40d63a
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x45474a8a]
and dl, cl
mov al, 0x1d
sub al, dl
add al, al
add cl, al
add cl, bl
jmp 0x40da30
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x7ace286c]
and dl, cl
sub cl, 0xc
jmp 0x40d9ec
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x3ae39b62]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
sub cl, 0x52
jmp 0x40d894
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x506f1a8]
and dl, cl
mov al, 0x34
sub al, dl
add al, al
add al, bl
add al, cl
mov dword [ebp - 0x68], eax
jmp 0x40d9d5
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x44f17eb2]
and dl, cl
mov al, 0x11
sub al, dl
add al, al
add al, bl
add al, cl
jmp 0x40d9cd
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x7b23f444]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
sub cl, 0x24
jmp 0x40d994
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x3b39673a]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x6a
jmp 0x40d97a
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x4b125d0]
and dl, cl
mov al, 0x28
sub al, dl
mov edx, dword [ebp - 0x70]
add al, al
add al, bl
add cl, al
mov dword [ebp - 0x68], ecx
jmp 0x40d962
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x449bb2da]
and dl, cl
mov al, 5
sub al, dl
add al, al
add al, bl
add cl, al
jmp 0x40d942
lea eax, [edx + 0x61]
cmp edi, eax
jae 0x40d6c7
mov al, byte [ebp - 0x6c]
lea edx, [esi + 0x600ab97b]
and al, dl
mov cl, bl
add al, al
sub cl, al
sub dl, 0x5d
add cl, dl
mov edx, dword [ebp - 0x70]
lea eax, [edi + edx]
cmp eax, 0x2a
je 0x40d87e
lea eax, [edx + 4]
cmp edi, eax
jbe 0x40d731
mov al, byte [ebp - 0x6c]
lea edx, [esi - 0x1d71cdb1]
and al, dl
mov cl, bl
add al, al
sub cl, al
sub dl, 0x29
add cl, dl
mov edx, dword [ebp - 0x70]
cmp edi, 0x80
jae 0x40d861
lea eax, [edx + 0x1000]
cmp edi, eax
jbe 0x40d7d7
mov al, byte [ebp - 0x6c]
lea edx, [esi - 0x3c90969a]
and al, dl
mov cl, 0x1b
sub cl, al
add cl, cl
add cl, bl
add cl, dl
mov edx, dword [ebp - 0x70]
cmp edx, 3
jb 0x40d4da
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x4445e702]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
add cl, al
add cl, cl
sub cl, 0x1c
jmp 0x40d942
lea eax, [edx + 1]
cmp edi, eax
jne 0x40d6e8
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x3e3d91d2]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x42
jmp 0x40da33
inc eax
cmp edi, eax
jne 0x40d6fa
lea ecx, [esi + 0x41ed541a]
mov al, 0x25
jmp 0x40d483
lea eax, [edx + 5]
cmp edi, eax
jne 0x40d719
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x3de7c5fa]
and cl, al
add cl, cl
sub bl, cl
sub al, 0x2a
add al, bl
jmp 0x40d9d0
lea eax, [edx + 4]
cmp edi, eax
jne 0x40d63f
lea ecx, [esi + 0x42431ff2]
mov al, 0x31
jmp 0x40d41b
lea eax, [edx + 1]
cmp edi, eax
jne 0x40d751
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x5d5c5abb]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
add cl, 0x1d
jmp 0x40d614
inc eax
cmp edi, eax
jne 0x40d770
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x62b9183b]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
add cl, 0x63
jmp 0x40d90e
lea eax, [edx + 3]
cmp edi, eax
jne 0x40d791
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x22ce8b31]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x57
jmp 0x40d97a
lea eax, [edx + 6]
cmp edi, eax
jne 0x40d7b2
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x23245709]
and cl, al
add cl, cl
sub al, cl
lea ecx, [ebx + eax]
sub cl, 0x3f
jmp 0x40d896
lea eax, [edx + 5]
cmp edi, eax
jne 0x40d66f
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x5cb0c30b]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
add cl, 0x4d
jmp 0x40da33
lea eax, [edx + 1]
cmp edi, eax
jne 0x40d7f8
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x7c7b23a4]
and dl, cl
mov al, 0x3e
sub al, dl
add al, al
add al, bl
add cl, al
jmp 0x40da30
lea eax, [edx + 3]
cmp edi, eax
jne 0x40d80c
lea ecx, [esi + 0x3afc248]
mov al, 4
jmp 0x40d483
lea eax, [edx + 2]
cmp edi, eax
jne 0x40d829
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x7c2557cc]
and cl, al
add cl, cl
sub bl, cl
sub al, 0x6c
jmp 0x40d712
lea eax, [edx + 5]
cmp edi, eax
jne 0x40d849
mov edx, dword [ebp - 0x6c]
lea ecx, [esi + 0x43f01b2a]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
sub cl, 0x26
jmp 0x40d994
lea eax, [edx + 7]
cmp edi, eax
jne 0x40d6a1
lea ecx, [esi + 0x4058e20]
mov al, 0x10
jmp 0x40d41b
lea edx, [esi + 0x45b59f8]
mov cl, 0x1c
mov al, dl
and al, byte [ebp - 0x6c]
sub cl, al
add cl, cl
add cl, byte [ebp - 0x71]
add cl, bl
add cl, dl
jmp 0x40d996
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x3b8f3312]
and dl, cl
mov al, 0x3f
sub al, dl
add al, al
sub al, byte [ebp - 0x71]
add al, bl
add cl, al
mov dword [ebp - 0x68], ecx
lea ecx, [esi + 0x247b8669]
mov dl, bl
mov al, cl
and al, bl
add al, al
sub dl, al
add dl, 0x21
add dl, cl
inc dword [ebp - 0x70]
mov byte [ebp + esi - 0x13c], dl
movzx eax, dl
mov edx, dword [ebp - 0x70]
add eax, edx
sub esi, eax
jmp 0x40d9fa
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x1ec8fd11]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
add cl, 0x77
jmp 0x40d994
lea ecx, [esi + 0x21218ff9]
mov al, cl
add cl, 0x31
and al, byte [ebp - 0x6c]
add al, al
sub bl, al
add cl, bl
jmp 0x40d97a
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x610c1d03]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
sub cl, 0x15
mov dword [ebp - 0x68], ecx
jmp 0x40d962
mov edx, dword [ebp - 0x6c]
lea ecx, [esi - 0x5f0955f3]
and dl, cl
mov al, bl
add dl, dl
sub al, dl
sub cl, 0x5b
jmp 0x40d614
lea edx, [esi + 0x20cbc421]
mov cl, bl
mov al, dl
add dl, 0x19
and al, byte [ebp - 0x6c]
add al, al
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
lea ecx, [esi - 0x5baf5f83]
mov al, cl
and al, bl
add al, al
sub bl, al
sub bl, 0x6b
add bl, cl
mov byte [ebp + esi - 0x13c], bl
inc edx
mov dword [ebp - 0x70], edx
jmp 0x40d97d
lea eax, [esi - 0x5f5f21cb]
and dl, al
add dl, dl
sub bl, dl
lea ecx, [eax + ebx]
sub cl, 0x73
mov dword [ebp - 0x68], ecx
dec esi
jmp 0x40da42
lea ecx, [esi - 0x1f7494c1]
mov al, bl
and dl, cl
add dl, dl
sub al, dl
add cl, 0x47
add cl, al
mov dword [ebp - 0x68], ecx
lea edx, [esi + 0x64661373]
mov al, dl
sub dl, 0x25
and al, bl
add al, al
sub cl, al
mov eax, dword [ebp - 0x68]
add cl, bl
add cl, dl
mov edx, dword [ebp - 0x70]
mov byte [ebp + esi - 0x13c], cl
jmp 0x40d9d3
lea eax, [esi + 0x2075f849]
and dl, al
inc al
add dl, dl
sub bl, dl
add al, bl
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x68], eax
add edi, edx
or ecx, 0xffffffff
movzx eax, al
sub ecx, eax
add esi, ecx
jmp 0x40da42
lea ecx, [esi - 0x1fca6099]
and dl, cl
add cl, 0x2f
add dl, dl
mov al, bl
sub al, dl
add cl, al
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
lea ecx, [esi - 0x7b79c01c]
mov al, cl
and al, bl
add al, al
sub cl, al
or eax, 0xffffffff
sub cl, 0x3c
add cl, bl
inc edi
sub eax, edi
mov byte [ebp + esi - 0x13c], cl
add esi, eax
jmp 0x40da36
lea eax, [esi + 0x20202c71]
and dl, al
add dl, dl
sub bl, dl
lea ecx, [eax + ebx]
sub cl, 0x17
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
add esi, eax
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x70]
inc esi
jmp 0x40d148
mov ecx, dword [ebp - 0x6c]
lea eax, [esi - 0x1a6da319]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
mov eax, dword [ebp - 0x70]
sub cl, 0x51
jmp 0x40d146
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x257ce9f1]
and cl, al
add cl, cl
sub bl, cl
lea ecx, [eax + ebx]
add cl, 0x69
jmp 0x40d138
lea eax, [ebp + 0x1749d68]
jmp 0x40da9b
lea eax, [ebp + 0x17f56e3]
jmp 0x40da9b
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x188]
call fcn.00403242
lea edx, [ebp - 0x188]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1e8]
call fcn.0040b7ba
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1d0]
call fcn.0040b7ba
push eax
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x34]
call fcn.0040e936
pop ecx
lea ecx, [ebp - 0x1d0]
call fcn.004032a9
lea ecx, [ebp - 0x1e8]
call fcn.004032a9
lea ecx, [ebp - 0x188]
call fcn.004032a9
lea eax, [ebp - 0x15]
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x1c], eax
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov eax, esp
mov dword [ebp - 0xac], esp
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x140]
push eax
call fcn.0040310c
sub esp, 0x18
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x64]
mov ecx, esp
push eax
call fcn.00403fc9
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
call fcn.00403db5
lea ecx, [ebp - 0x34]
call fcn.004032a9
lea ecx, [ebp - 0x4c]
call fcn.004032a9
lea ecx, [ebp - 0x64]
call fcn.004032a9
call fcn.004590f8
ret