Function at 0x40e1da
Capabilities:
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push 8
push 0x2b8
mov eax, 0x49a896
call fcn.004965b7
mov al, byte [ebp - 0x1e6]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x200], eax
mov al, byte [ebp - 0x1e5]
mov dword [ebp - 0x1f8], eax
mov al, byte [ebp - 0x1e7]
mov dword [ebp - 0x20c], ecx
and dword [ebp - 0x210], 0
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x1fc], eax
mov eax, dword [0x4ca45c]
test eax, eax
jne 0x40e2ea
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x228], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1ec], ecx
cmp ecx, esi
je 0x40e2c5
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x40e2c5
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
dec edi
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ecx]
mov ecx, 0xba49ad37
add edx, esi
mov dword [ebp - 0x204], ecx
mov cl, byte [edx]
inc edx
test cl, cl
je 0x40e2bb
mov esi, dword [ebp - 0x204]
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40e294
mov dword [ebp - 0x204], esi
cmp dword [ebp - 0x204], 0x78d1273a
mov esi, dword [eax + 0x18]
je 0x40e2cc
mov ecx, dword [ebp - 0x1f4]
test edi, edi
jne 0x40e26e
mov eax, dword [eax]
jmp 0x40e23e
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [0x4ca45c], eax
push 0x64
call eax
mov eax, dword [0x4ca430]
test eax, eax
jne 0x40e3b3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x228], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1ec], ecx
cmp ecx, esi
je 0x40e38e
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x40e38e
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
dec edi
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ecx]
mov ecx, 0x903b836
add edx, esi
mov dword [ebp - 0x204], ecx
mov cl, byte [edx]
inc edx
test cl, cl
je 0x40e384
mov esi, dword [ebp - 0x204]
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40e35d
mov dword [ebp - 0x204], esi
cmp dword [ebp - 0x204], 0x3beec1b4
mov esi, dword [eax + 0x18]
je 0x40e395
mov ecx, dword [ebp - 0x1f4]
test edi, edi
jne 0x40e337
mov eax, dword [eax]
jmp 0x40e307
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [0x4ca430], eax
call eax
mov ecx, eax
mov esi, edx
mov eax, dword [0x4cac78]
cdq
mov dword [ebp - 0x228], ecx
sub ecx, eax
push 0
push 0x3e8
sbb esi, edx
push esi
push ecx
call fcn.0046cc30
push 6
mov dword [0x4cac74], eax
lea edi, [ebp - 0xb0]
pop ecx
xor eax, eax
mov dword [ebp - 0xb4], 0x636261b2
rep stosd dword es:[edi], eax
mov eax, dword [0x4cad2c]
mov esi, dword [0x4cad28]
mov dword [ebp - 0x1f4], eax
xor edi, edi
cmp edi, 0x1c
jae 0x40f077
mov dl, byte [ebp + edi - 0xb4]
mov dword [ebp - 0x1ec], edx
movzx ecx, dl
mov dword [ebp - 0x204], ecx
cmp esi, edi
ja 0x40f06f
add eax, 5
cmp esi, eax
jae 0x40e458
lea edx, [edi + 0x128072d0]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
add edx, ecx
add dl, 0x50
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
jmp 0x40e6de
mov eax, dword [ebp - 0x1f4]
inc eax
cmp esi, eax
je 0x40efc3
inc eax
cmp esi, eax
je 0x40ef2f
mov ecx, dword [ebp - 0x1f4]
lea eax, [ecx + 3]
cmp esi, eax
je 0x40eefb
lea eax, [ecx + 5]
cmp esi, eax
je 0x40eea1
lea eax, [ecx + 7]
cmp esi, eax
je 0x40ee7a
lea eax, [ecx + 9]
cmp esi, eax
je 0x40ee22
cmp ecx, edi
ja 0x40f067
lea eax, [ecx + 0x10]
cmp esi, eax
jae 0x40e4be
lea edx, [edi + 0x475d2890]
mov cl, 8
jmp 0x40e68a
lea eax, [ecx + 1]
cmp esi, eax
je 0x40edf6
inc eax
cmp esi, eax
je 0x40edcd
lea eax, [ecx + 3]
cmp esi, eax
je 0x40eda3
lea eax, [ecx + 5]
cmp esi, eax
je 0x40ed84
lea eax, [ecx + 6]
cmp esi, eax
je 0x40ed65
lea eax, [ecx + esi]
cmp eax, edi
jbe 0x40ea1e
lea eax, [ecx + 0x64]
cmp esi, eax
je 0x40ea02
lea eax, [ecx + 9]
cmp esi, eax
je 0x40e9df
lea eax, [ecx + 1]
cmp esi, eax
je 0x40e9c3
lea eax, [ecx + 0x400]
cmp esi, eax
je 0x40e9a7
lea eax, [ecx + 0x28]
cmp esi, eax
je 0x40e99a
lea eax, [ecx + 5]
cmp esi, eax
je 0x40e97e
lea eax, [ecx + 0x41]
cmp esi, eax
je 0x40e967
lea eax, [ecx + 0x80]
cmp esi, eax
je 0x40e938
lea eax, [ecx + 0xa]
cmp esi, eax
je 0x40e91c
lea eax, [ecx + 2]
cmp esi, eax
je 0x40e4fe
lea esi, [ecx + 0x20]
lea ecx, [esi + 0x1000]
lea eax, [ecx + 4]
mov dword [ebp - 0x1f4], ecx
cmp esi, eax
jb 0x40f03b
lea eax, [ecx + 0x7a]
cmp esi, eax
jb 0x40f006
lea eax, [ecx + 0x64]
cmp esi, eax
jb 0x40e6e9
lea eax, [ecx + 9]
cmp esi, eax
jb 0x40e6b7
lea eax, [ecx + 1]
cmp esi, eax
jb 0x40e682
lea eax, [ecx + 0x400]
cmp esi, eax
jb 0x40e8a7
lea eax, [ecx + 0x28]
cmp esi, eax
jb 0x40e88e
lea eax, [ecx + 5]
cmp esi, eax
jb 0x40e859
lea eax, [ecx + 0x41]
cmp esi, eax
jb 0x40e828
lea eax, [ecx + 0x80]
cmp esi, eax
jb 0x40e4fe
lea esi, [ecx + 0x2a]
lea ecx, [esi + 0xa]
lea eax, [ecx + 0x3e8]
mov dword [ebp - 0x1f4], ecx
cmp esi, eax
ja 0x40e80c
lea eax, [ecx + 0x20]
cmp esi, eax
ja 0x40e7e1
lea eax, [ecx + 4]
cmp esi, eax
ja 0x40e7b2
lea eax, [ecx + 0x7a]
cmp esi, eax
ja 0x40e796
lea eax, [ecx + 0x64]
cmp esi, eax
ja 0x40e789
lea eax, [ecx + 9]
cmp esi, eax
ja 0x40e769
lea eax, [ecx + 1]
cmp esi, eax
ja 0x40e74d
lea eax, [ecx + 0x400]
cmp esi, eax
ja 0x40e740
lea eax, [ecx + 0x28]
cmp esi, eax
ja 0x40e724
lea eax, [ecx + 5]
cmp esi, eax
ja 0x40e4fe
lea esi, [ecx + 0x42]
lea ecx, [esi + 0x41]
mov dword [ebp - 0x1f4], ecx
jmp 0x40e4fe
lea edx, [edi + 0x7f4025b0]
mov cl, 0x18
mov al, byte [ebp - 0x1ec]
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40e4f3
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x79f6e050]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x30
add cl, dl
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov ecx, dword [ebp - 0x1f4]
jmp 0x40e4a2
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x74ad9af0]
and al, dl
mov cl, 0x38
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov edx, dword [ebp - 0x1ec]
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov eax, dword [ebp - 0x1f4]
jmp 0x40e41c
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x34196c60]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x60
jmp 0x40eb24
lea edx, [edi - 0x3962b1c0]
mov cl, 0x20
jmp 0x40e9e7
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x3eabf720]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x20
jmp 0x40ee8b
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x43f53c80]
mov al, dl
and al, cl
add al, al
sub cl, al
sub cl, 0x80
add cl, dl
mov al, cl
jmp 0x40eec0
lea edx, [edi - 0x493e81e0]
mov cl, 0x10
jmp 0x40eb4c
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x4e87c740]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x40
jmp 0x40ef12
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x53d10ca0]
and al, dl
mov cl, 0x30
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, dl
add cl, al
mov dword [ebp - 0x200], ecx
mov byte [ebp - 0x1e6], cl
jmp 0x40ef5f
mov al, byte [ebp - 0x1ec]
lea ecx, [edi - 0x591a5200]
and al, cl
add al, al
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, al
mov dword [ebp - 0x200], ecx
mov byte [ebp - 0x1e6], cl
jmp 0x40ef9c
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x5e639760]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x60
jmp 0x40efda
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x6b9ac4d0]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x50
add dl, cl
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
mov byte [ebp + edi - 0xb4], dl
jmp 0x40effa
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x70e40a30]
and al, dl
mov cl, 0x28
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, al
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
jmp 0x40ec37
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x762d4f90]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x10
jmp 0x40e903
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x7b7694f0]
mov al, cl
and al, dl
add al, al
sub cl, al
lea eax, [edx - 0x70]
add al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov edx, dword [ebp - 0x1ec]
lea eax, [ecx + esi]
cmp eax, 0x20
je 0x40ed29
lea eax, [ecx + 0x1000]
cmp esi, eax
jbe 0x40eb06
lea ecx, [edi - 0x4ee96bf0]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x70
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
jmp 0x40ebf6
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x5ce3e2c0]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x40
jmp 0x40efda
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x579a9d60]
and al, dl
mov cl, 0x30
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, al
add cl, dl
mov dword [ebp - 0x200], ecx
mov byte [ebp - 0x1e6], cl
jmp 0x40ef96
mov al, byte [ebp - 0x1ec]
lea ecx, [edi + 0x52515800]
and al, cl
add al, al
sub cl, al
jmp 0x40ea9a
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x4d0812a0]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x60
jmp 0x40ef12
lea edx, [edi + 0x47becd40]
mov cl, 0x20
jmp 0x40eb4c
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x427587e0]
mov al, dl
and al, cl
add al, al
sub cl, al
sub cl, 0x20
jmp 0x40e780
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x3d2c4280]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x80
jmp 0x40ee8b
lea edx, [edi + 0x37e2fd20]
mov cl, 0x10
mov al, byte [ebp - 0x1ec]
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov al, cl
jmp 0x40ede8
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x3299b7c0]
mov al, dl
and al, cl
add al, al
sub cl, al
sub cl, 0x40
jmp 0x40ee39
lea eax, [ecx + 0x64]
cmp esi, eax
jae 0x40ea5c
lea edx, [edi + 0x2a4a2b0]
mov cl, 0x18
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40e8d8
lea eax, [ecx + 1]
cmp esi, eax
jne 0x40ea80
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x7ede8100]
mov al, cl
and al, dl
add al, al
sub cl, al
add cl, dl
mov al, cl
jmp 0x40efde
inc eax
cmp esi, eax
jne 0x40eab3
lea ecx, [edi - 0x768ef440]
mov al, cl
and al, byte [ebp - 0x1ec]
add al, al
sub cl, al
sub cl, 0x40
mov eax, dword [ebp - 0x1ec]
add cl, al
mov dword [ebp - 0x200], ecx
mov byte [ebp - 0x1e6], cl
jmp 0x40ed5a
lea eax, [ecx + 4]
cmp esi, eax
jne 0x40eadb
lea edx, [edi - 0x7145aee0]
mov cl, 0x10
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add dl, cl
add dl, byte [ebp - 0x1ec]
jmp 0x40ef14
lea eax, [ecx + 3]
cmp esi, eax
jne 0x40e8d2
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x6bfc6980]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x80
add cl, dl
mov al, cl
jmp 0x40edbc
lea eax, [ecx + 1]
cmp esi, eax
jne 0x40eb3f
lea ecx, [edi - 0x49a02690]
mov dword [ebp - 0x1ec], edx
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x10
add cl, dl
mov al, cl
mov byte [ebp - 0x1e6], al
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1ec]
jmp 0x40ee55
inc eax
cmp esi, eax
jne 0x40eb60
lea edx, [edi - 0x347b1110]
mov cl, 0x38
mov al, byte [ebp - 0x1ec]
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
jmp 0x40eafd
lea eax, [ecx + 4]
cmp esi, eax
jne 0x40eb76
lea ecx, [edi - 0x2f31cbb0]
mov al, dl
and al, cl
jmp 0x40ef0b
lea eax, [ecx + 7]
cmp esi, eax
jne 0x40eba0
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x29e88650]
and al, dl
mov cl, 0x18
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, al
add cl, dl
jmp 0x40eaa2
lea eax, [ecx + 3]
cmp esi, eax
jne 0x40ebd3
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x249f40f0]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x70
add cl, dl
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40ef90
lea eax, [ecx + 9]
cmp esi, eax
jne 0x40ebf0
mov al, dl
lea ecx, [edi - 0x1f55fb90]
and al, cl
add al, al
sub dl, al
sub dl, 0x10
jmp 0x40efda
mov edx, dword [ebp - 0x200]
cmp esi, 0x2a
jae 0x40ed00
lea eax, [ecx + 0xa]
cmp esi, eax
jbe 0x40ec61
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x17681380]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x80
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
mov eax, dword [ebp - 0x1ec]
cmp ecx, 0x3e8
jb 0x40e84d
mov cl, byte [ebp - 0x1ec]
lea edx, [edi + 0x1d74a240]
and al, dl
add al, al
sub cl, al
add cl, dl
add cl, cl
sub cl, 0x80
jmp 0x40ee3b
lea eax, [ecx + 1]
cmp esi, eax
jne 0x40ec84
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x121ece20]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x20
jmp 0x40efda
inc eax
cmp esi, eax
jne 0x40eca5
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x78c4360]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x60
jmp 0x40ed44
lea eax, [ecx + 3]
cmp esi, eax
jne 0x40ecc5
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi - 0x242fe00]
mov al, dl
and al, cl
add al, al
sub dl, al
jmp 0x40ef12
lea eax, [ecx + 4]
cmp esi, eax
jne 0x40ecd9
lea edx, [edi + 0x3064760]
mov cl, 0x30
jmp 0x40eb4c
lea eax, [ecx + 7]
cmp esi, eax
jne 0x40ec31
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x182b5ce0]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x20
jmp 0x40ee39
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x22bde7a0]
mov cl, byte [ebp + edi - 0xb4]
and al, dl
add al, al
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x1ec]
sub cl, 0x60
jmp 0x40e780
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x28072d00]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, byte [ebp + edi - 0xb4]
add cl, dl
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1ec], eax
jmp 0x40ef5f
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x76f098f0]
and al, dl
mov cl, 0x38
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
jmp 0x40ea77
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x6714c8d0]
and al, dl
mov cl, 0x28
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
jmp 0x40ef12
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x61cb8370]
mov al, dl
and al, cl
add al, al
sub dl, al
lea eax, [ecx + edx]
sub al, 0x10
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40eeed
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x51efb350]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x30
add dl, cl
mov al, dl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40ee72
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x4ca66df0]
and al, dl
mov cl, 0x38
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, al
add cl, dl
mov dword [ebp - 0x200], ecx
mov byte [ebp - 0x1e6], cl
jmp 0x40ee4f
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x4213e330]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x50
add cl, dl
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1ec], eax
lea edx, [edi + 0x201944f0]
mov cl, 0x38
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov byte [ebp + edi - 0xb4], cl
inc dword [ebp - 0x1f4]
jmp 0x40ee9b
mov al, dl
lea ecx, [edi + 0x37815870]
and al, cl
add al, al
sub dl, al
sub dl, 0x10
add dl, cl
mov al, dl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
dec edi
jmp 0x40effa
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x32381310]
mov al, cl
and al, dl
add al, al
sub cl, al
lea eax, [edx - 0x70]
mov edx, dword [ebp - 0x1ec]
add al, cl
mov byte [ebp - 0x1e6], al
mov dword [ebp - 0x200], eax
mov al, dl
lea ecx, [edi + 0x25628a50]
and al, cl
add al, al
sub dl, al
mov eax, dword [ebp - 0x200]
sub al, 0x30
add dl, al
add dl, cl
mov byte [ebp + edi - 0xb4], dl
add esi, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x200]
jmp 0x40ef20
mov edx, dword [ebp - 0x204]
lea ecx, [edi + 0x27a58850]
mov al, cl
and al, dl
add al, al
sub dl, al
sub dl, 0x30
add dl, cl
mov dword [ebp - 0x200], edx
mov byte [ebp - 0x1e6], dl
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add edi, ecx
jmp 0x40effa
mov edx, ecx
mov al, 0x38
lea ecx, [edi + 0x225c42f0]
mov dword [ebp - 0x1ec], edx
and byte [ebp - 0x204], cl
sub al, byte [ebp - 0x204]
add al, al
add al, dl
add al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov eax, edx
lea edx, [edi + 0x2aabcfb0]
mov cl, 0x18
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov edx, dword [ebp - 0x1f4]
inc edx
movzx eax, cl
add eax, edx
mov byte [ebp + edi - 0xb4], cl
mov dword [ebp - 0x1f4], edx
sub edi, eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1ec], eax
lea edx, [edi + 0x2d507260]
mov cl, 0x30
and al, dl
sub cl, al
or eax, 0xffffffff
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
inc esi
sub eax, esi
mov byte [ebp + edi - 0xb4], cl
add edi, eax
jmp 0x40efea
mov edx, dword [ebp - 0x204]
lea ecx, [edi + 0x17c9b830]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x50
add dl, cl
mov al, dl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
movzx eax, byte [ebp + edi - 0xb4]
add eax, dword [ebp - 0x1f4]
add edi, eax
mov eax, dword [ebp - 0x1f4]
inc edi
jmp 0x40e406
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x6f645590]
and al, dl
mov cl, 8
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov al, cl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
mov eax, dword [ebp - 0x1f4]
jmp 0x40e404
mov edx, dword [ebp - 0x1ec]
lea ecx, [edi + 0x6a1b1030]
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x50
add dl, cl
mov al, dl
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x1e6], al
jmp 0x40e3f3
mov eax, dword [ebp + 0x1791dac]
jmp 0x40f07d
mov eax, dword [ebp + 0x11dc05c]
jmp 0x40f07d
mov eax, dword [ebp - 0xb4]
cmp dword [0x4cac74], eax
jl 0x40e225
mov dword [ebp - 4], 1
mov esi, dword fs:[0x2c]
mov eax, dword [0x4cae08]
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jle 0x40f101
push 0x4cae08
call fcn.0046bf08
or edi, 0xffffffff
pop ecx
cmp dword [0x4cae08], edi
jne 0x40f104
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0xa2b3b8e4
mov dword [ebp - 0x50], 0x100f4be
call fcn.00413d30
lea eax, [ebp - 0x54]
mov ecx, 0x4cadd8
push eax
call fcn.0041437c
push 0x49db78
call fcn.0046c4ee
mov byte [ebp - 4], 1
mov dword [esp], 0x4cae08
call fcn.0046beb7
pop ecx
jmp 0x40f104
or edi, 0xffffffff
mov ecx, dword [esi]
mov eax, dword [0x4cad94]
cmp eax, dword [ecx + 4]
jle 0x40f16d
push 0x4cad94
call fcn.0046bf08
pop ecx
cmp dword [0x4cad94], edi
jne 0x40f16d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0xbebfbfe2
mov dword [ebp - 0x64], 0xb0baba
mov byte [ebp - 0x60], 1
call fcn.00412935
lea eax, [ebp - 0x68]
mov ecx, 0x4cada8
push eax
call fcn.0041437c
push 0x49db6e
call fcn.0046c4ee
mov byte [ebp - 4], 1
mov dword [esp], 0x4cad94
call fcn.0046beb7
pop ecx
mov ecx, dword [esi]
mov eax, dword [0x4cada0]
cmp eax, dword [ecx + 4]
jle 0x40f1e4
push 0x4cada0
call fcn.0046bf08
pop ecx
cmp dword [0x4cada0], edi
jne 0x40f1e4
mov byte [ebp - 4], 4
call fcn.00412a45
mov esi, eax
call fcn.00412a45
lea ecx, [ebp - 0x1b4]
push ecx
mov ecx, eax
call fcn.0040539e
push eax
push 0x4cadc0
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00405ab4
lea ecx, [ebp - 0x1b4]
call fcn.004151f6
push 0x49db64
call fcn.0046c4ee
mov byte [ebp - 4], 1
mov dword [esp], 0x4cada0
call fcn.0046beb7
pop ecx
push 0x4cada8
lea ecx, [ebp - 0x1cc]
call fcn.004143db
sub esp, 0x18
mov byte [ebp - 4], 6
mov esi, esp
mov dword [ebp - 0x208], esp
mov ecx, eax
mov dword [ebp - 0x204], esi
push 0x4cadc0
push 0
call fcn.004170c0
push eax
mov ecx, esi
call fcn.0041431e
or dword [ebp - 0x210], 2
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
push 0x4cadd8
call fcn.004143db
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 6
push eax
mov ecx, 0x4c7b50
call fcn.0046680f
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 9
call fcn.004151f6
call fcn.00412a45
movaps xmm0, xmmword [0x4b6a20]
lea ecx, [ebp - 0xe0]
mov esi, eax
mov word [ebp - 0xd0], 0x100
movups xmmword [ebp - 0xe0], xmm0
call fcn.00413cbf
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x13c]
call fcn.0041437c
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x1e4]
mov ecx, esi
push eax
call fcn.00405ab4
push eax
lea ecx, [ebp - 0xcc]
call fcn.00417ae5
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 0x1ed], al
call fcn.004151f6
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 9
call fcn.004151f6
cmp byte [ebp - 0x1ed], 0
jne 0x40f5d2
call fcn.00412a45
lea ecx, [ebp - 0xcc]
push ecx
lea ecx, [ebp - 0x154]
push ecx
mov ecx, eax
call fcn.004057d1
or dword [ebp - 0x210], 8
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004142ea
lea ecx, [ebp - 0x154]
call fcn.004151f6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0x4a69e8
call fcn.0041437c
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xcc]
mov ecx, esp
push eax
call fcn.004143db
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 9
mov esi, 0x4c7b50
push eax
mov ecx, esi
call fcn.00403cee
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0xa2b4b5ad
mov word [ebp - 0x30], 0x100
call fcn.004127dc
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x34]
push eax
call fcn.0041707d
test al, al
je 0x40f5f1
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x10c]
add eax, 0x18
push eax
call fcn.004143db
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x124]
mov eax, dword [ebp - 0x224]
add eax, 0x30
push eax
call fcn.004143db
mov byte [ebp - 4], 0xe
mov esi, dword [0x4ca454]
test esi, esi
jne 0x40f480
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x1ec], ecx
cmp ecx, edi
je 0x40f45b
mov esi, dword [ecx + 0x18]
test esi, esi
je 0x40f45b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + esi*4]
add ecx, edi
sub ecx, 4
mov dword [ebp - 0x204], 0x73de5ba0
dec esi
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ecx]
add edx, edi
mov cl, byte [edx]
inc edx
test cl, cl
je 0x40f451
movsx ecx, cl
xor ecx, dword [ebp - 0x204]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x204], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40f429
cmp dword [ebp - 0x204], 0xfea3a48c
je 0x40f45f
mov ecx, dword [ebp - 0x1f4]
test esi, esi
jne 0x40f40a
mov eax, dword [eax]
jmp 0x40f3e5
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov esi, dword [eax + edi]
add esi, edi
mov dword [0x4ca454], esi
push 0xa
xor edx, edx
lea ecx, [ebp - 0x124]
call fcn.00402319
pop ecx
push 0xa
xor edx, edx
lea ecx, [ebp - 0x10c]
mov edi, eax
call fcn.00402319
pop ecx
push edi
push eax
call esi
push 0
lea ecx, [ebp - 0x10c]
call fcn.0041521c
push 0
lea ecx, [ebp - 0x124]
call fcn.0041521c
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0xa2b4b5ad
mov word [ebp - 0x38], 0x100
call fcn.004127dc
lea ecx, [ebp - 0x214]
mov word [ebp - 0x214], 0xe2
mov byte [ebp - 0x212], 1
call fcn.004134d0
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0041437c
push 0x4cadc0
push 0
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.004170c0
push eax
lea ecx, [ebp - 0x184]
call fcn.0041431e
or dword [ebp - 0x210], 0x20
sub esp, 0x18
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x208], esp
mov ecx, esp
lea edx, [ebp - 0x184]
push eax
call fcn.00415f77
pop ecx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0xa2b3b8e4
mov dword [ebp - 0x58], 0x100f4be
call fcn.00413d30
sub esp, 0x18
lea eax, [ebp - 0x5c]
mov ecx, esp
push eax
call fcn.0041437c
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x10
push eax
mov ecx, 0x4c7b50
call fcn.0046680f
lea ecx, [ebp - 0x184]
call fcn.004151f6
lea ecx, [ebp - 0x19c]
call fcn.004151f6
push 0
lea ecx, [ebp - 0x16c]
call fcn.0041521c
lea ecx, [ebp - 0x16c]
call fcn.004151f6
lea ecx, [ebp - 0x124]
call fcn.004151f6
lea ecx, [ebp - 0x10c]
call fcn.004151f6
lea ecx, [ebp - 0x224]
call fcn.0041515b
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0xcc]
mov dword [0x4cac78], eax
call fcn.004151f6
and dword [ebp - 4], 0
jmp 0x40e225
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0xb1b8bfb9
mov word [ebp - 0x48], 0xb6
mov byte [ebp - 0x46], 1
call fcn.004128a5
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x4c]
push eax
call fcn.0041707d
test al, al
je 0x40f708
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx + 0x18]
call fcn.00414242
push 0
push 0
push edi
push eax
push 1
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 2
pop ecx
mov edi, eax
mul ecx
push 0xffffffffffffffff
pop ecx
cmovb eax, ecx
push eax
call fcn.0046c511
pop ecx
mov ecx, dword [ebp - 0x224]
mov esi, eax
lea ecx, [ecx + 0x18]
call fcn.00414242
push edi
push esi
push 0xffffffffffffffff
push eax
push 1
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
and dword [ebp - 0x218], 0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x40f6b8
mov esi, dword [ebp - 0x230]
and dword [esi + 0x24], 0
lea ecx, [ebp - 0x224]
call fcn.0041515b
lea ecx, [ebp - 0xcc]
call fcn.004151f6
mov eax, esi
mov ecx, dword [ebp - 0x1c]
call fcn.00496528
ret 4
lea eax, [ebp - 0x218]
push eax
push 0x49f7f0
push 0x17
push 0
push 0x49f800
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x40f6ea
mov ecx, dword [ebp - 0x218]
push 0
push 8
push esi
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x50]
call eax
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
and dword [ebp - 0x218], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x40f5c7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0xa6b8a8aa
mov word [ebp - 0x40], 0x100
call fcn.004127dc
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x44]
push eax
call fcn.0041707d
test al, al
je 0x40f84c
mov ecx, esi
call fcn.00466c31
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0xe1e0a8ff
mov word [ebp - 0x20], 0x100
call fcn.004127dc
sub esp, 0x18
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
call fcn.0041437c
mov ecx, esi
call fcn.004672fb
mov ecx, 0x4c7b58
call fcn.00414142
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x208], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x40f801
mov esi, dword [edi + 0x18]
test esi, esi
je 0x40f801
mov eax, dword [edi + 0x20]
lea eax, [eax + esi*4]
add eax, edx
sub eax, 4
mov dword [ebp - 0x204], 0xd8267d2
dec esi
mov dword [ebp - 0x1ec], eax
mov ecx, dword [eax]
add ecx, edx
mov al, byte [ecx]
inc ecx
test al, al
je 0x40f7f1
movsx eax, al
xor eax, dword [ebp - 0x204]
imul eax, eax, 0x1000193
mov dword [ebp - 0x204], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f7c9
cmp dword [ebp - 0x204], 0xbeef88ea
je 0x40f836
mov eax, dword [ebp - 0x1ec]
test esi, esi
jne 0x40f7aa
mov ecx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x1f4]
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
cmp eax, ecx
je 0x40f81d
cmp dword [eax + 0x18], 0
jne 0x40f78b
xor eax, eax
push 0
call eax
pop ecx
push 0
lea ecx, [ebp - 0xcc]
call fcn.0041521c
jmp 0x40f5c7
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x1c]
add ecx, edx
lea eax, [eax + esi*2]
movzx eax, word [eax + edx]
mov eax, dword [ecx + eax*4]
add eax, edx
jmp 0x40f81f
movaps xmm0, xmmword [0x4b6a20]
lea ecx, [ebp - 0xf4]
movups xmmword [ebp - 0xf4], xmm0
mov word [ebp - 0xe4], 0x100
call fcn.00413cbf
push 0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004141e6
cmp eax, edi
jne 0x40f5c7
xor edx, edx
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x2a0], edx
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x234], 3
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], edx
mov byte [ebp - 4], 0x25
mov ecx, dword fs:[0x2c]
mov eax, dword [0x4cae10]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 4]
jle 0x4104c6
push 0x4cae10
call fcn.0046bf08
cmp dword [0x4cae10], 0xffffffff
pop ecx
jne 0x4104c4
mov dword [ebp - 0x98], 0xc3c4c5c6
lea edi, [ebp - 0x94]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov eax, dword [0x4cad2c]
mov edi, dword [0x4cad28]
mov dword [ebp - 0x1f4], eax
xor esi, esi
cmp esi, 0x19
jae 0x4104ae
mov dl, byte [ebp + esi - 0x98]
mov byte [ebp - 0x1ed], dl
movzx ecx, dl
mov dword [ebp - 0x204], ecx
cmp edi, esi
ja 0x4104a6
add eax, 2
cmp edi, eax
jae 0x40f9c2
lea eax, [esi - 0x11d0b19]
mov dword [ebp - 0x1fc], eax
and eax, ecx
add eax, eax
sub dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1fc]
add eax, ecx
sub al, 0x51
jmp 0x40fc1a
mov ecx, dword [ebp - 0x1f4]
lea eax, [ecx + 1]
cmp edi, eax
je 0x410409
lea eax, [ecx + 4]
cmp edi, eax
je 0x4103d2
lea eax, [ecx + 2]
cmp edi, eax
je 0x410380
cmp ecx, esi
ja 0x41049e
lea eax, [ecx + 1]
cmp edi, eax
jae 0x40fa1a
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x696b677b]
mov al, ah
mov cl, ah
and al, dl
sub dl, 0x5d
add al, al
sub cl, al
add cl, dl
mov dl, ah
jmp 0x40fbec
je 0x41036a
inc eax
cmp edi, eax
je 0x410316
lea eax, [ecx + 3]
cmp edi, eax
je 0x4102f2
lea eax, [ecx + 7]
cmp edi, eax
je 0x410272
lea eax, [ecx + 5]
cmp edi, eax
je 0x41025c
lea eax, [edi + ecx]
cmp eax, esi
jbe 0x40ff93
lea eax, [ecx + 0x61]
cmp edi, eax
je 0x40ff76
lea eax, [ecx + 0x40]
cmp edi, eax
je 0x40ff50
lea eax, [ecx + 5]
cmp edi, eax
je 0x40ff2a
lea eax, [ecx + 1]
cmp edi, eax
je 0x40ff14
lea eax, [ecx + 0x3e8]
cmp edi, eax
je 0x40ff07
lea eax, [ecx + 0x10]
cmp edi, eax
je 0x40fee6
lea eax, [ecx + 2]
cmp edi, eax
je 0x40feca
lea eax, [ecx + 0x400]
cmp edi, eax
je 0x40fe98
lea eax, [ecx + 0x20]
cmp edi, eax
je 0x40fe80
lea eax, [ecx + 3]
cmp edi, eax
je 0x40fa55
lea edi, [ecx + 1]
lea ecx, [edi + 0x5a]
lea eax, [ecx + 0x3e8]
mov dword [ebp - 0x1f4], ecx
cmp edi, eax
jb 0x410478
lea eax, [ecx + 0x10]
cmp edi, eax
jb 0x41044c
lea eax, [ecx + 2]
cmp edi, eax
jb 0x40fc31
lea eax, [ecx + 0x41]
cmp edi, eax
jb 0x40fc05
lea eax, [ecx + 0x64]
cmp edi, eax
jb 0x40fbd9
lea eax, [ecx + 8]
cmp edi, eax
jb 0x40fdc9
lea eax, [ecx + 0x5a]
cmp edi, eax
jb 0x40fda0
lea eax, [ecx + 0x80]
cmp edi, eax
jb 0x40fd76
lea eax, [ecx + 9]
cmp edi, eax
jb 0x40fd4b
lea eax, [ecx + 0x2a]
cmp edi, eax
jb 0x40fa55
lea edi, [ecx + 0x41]
lea ecx, [edi + 0x61]
lea eax, [ecx + 0x64]
mov dword [ebp - 0x1f4], ecx
cmp edi, eax
ja 0x40fd2a
lea eax, [ecx + 8]
cmp edi, eax
ja 0x40fd14
lea eax, [ecx + 0x5a]
cmp edi, eax
ja 0x40fcf8
lea eax, [ecx + 0x1000]
cmp edi, eax
ja 0x40fceb
lea eax, [ecx + 0x28]
cmp edi, eax
ja 0x40fcca
lea eax, [ecx + 4]
cmp edi, eax
ja 0x40fca9
lea eax, [ecx + 0x61]
cmp edi, eax
ja 0x40fc8f
lea eax, [ecx + 0x40]
cmp edi, eax
ja 0x40fc75
lea eax, [ecx + 5]
cmp edi, eax
ja 0x40fc5d
lea eax, [ecx + 0x7a]
cmp edi, eax
ja 0x40fa55
lea edi, [ecx + 0x1000]
lea ecx, [edi + 0x3e8]
mov dword [ebp - 0x1f4], ecx
jmp 0x40fa55
lea ecx, [esi - 0x3ba2c14f]
mov al, cl
and al, dl
add al, al
sub cl, al
add cl, 0x29
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1e7], al
mov dword [ebp - 0x1fc], eax
jmp 0x40fa4a
lea ecx, [esi - 0x5fe39991]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 9
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x40f9e9
lea ecx, [esi + 0x7bdb8e2d]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x3b
add cl, dl
mov al, cl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
mov eax, dword [ebp - 0x1f4]
jmp 0x40f985
lea ecx, [esi + 0x52097e6e]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 2
add cl, dl
jmp 0x4103a1
lea ecx, [esi + 0x2dc8a62c]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x34
add cl, dl
mov al, cl
jmp 0x40ff65
lea ecx, [esi + 0x987cdea]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x66
add cl, dl
mov al, cl
jmp 0x40ff3f
mov ah, byte [ebp - 0x1ed]
lea edx, [esi - 0x1ab90a58]
mov al, dl
mov cl, 0x34
and al, ah
sub cl, al
add cl, cl
add cl, dl
mov dl, ah
add cl, dl
jmp 0x410337
lea edx, [esi - 0x3ef9e29a]
mov cl, 0x1b
mov ah, byte [ebp - 0x1ed]
mov al, dl
and al, ah
sub cl, al
add cl, cl
add cl, dl
add cl, ah
mov al, cl
jmp 0x4103e5
lea edx, [esi - 0x633abadc]
mov cl, 2
jmp 0x40feee
lea ecx, [esi + 0x78846ce2]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x2e
mov ch, byte [ebp - 0x1ed]
jmp 0x41028a
lea ecx, [esi + 0x544394a0]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x60
jmp 0x40feaf
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x3002bc5e]
mov al, dl
mov cl, 0x37
and al, ah
sub cl, al
add cl, cl
add cl, dl
add cl, ah
mov al, cl
jmp 0x410424
lea ecx, [esi + 0x55609fb9]
mov al, cl
and al, dl
sub dl, 0xf
add al, al
sub cl, al
add dl, cl
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 0x1e7], dl
mov byte [ebp + esi - 0x98], dl
jmp 0x410440
lea ecx, [esi + 0x311fc777]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x41
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 0x1e7], dl
jmp 0x4101eb
lea ecx, [esi + 0xcdeef35]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x73
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x40fe3a
lea ecx, [esi - 0x1761e90d]
mov al, cl
and al, dl
add al, al
sub cl, al
add cl, 0x5b
add cl, dl
mov al, cl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
mov ch, byte [ebp - 0x1ed]
mov edx, dword [ebp - 0x1f4]
lea eax, [edi + edx]
cmp eax, 0xa
je 0x410240
lea eax, [edx + 3]
cmp edi, eax
jbe 0x41008c
mov al, ch
lea edx, [esi + 0x3e7c4ca3]
and al, dl
mov cl, ch
add al, al
sub cl, al
lea eax, [edx - 0x75]
add al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
mov dl, byte [ebp - 0x1ed]
cmp edi, 6
jae 0x41021b
lea eax, [ecx + 0x2a]
cmp edi, eax
jbe 0x41015d
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x3b252b58]
mov al, ah
mov cl, ah
and al, dl
add al, al
sub cl, al
sub cl, 0x68
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 0x1e7], dl
jmp 0x4101f1
lea ecx, [esi + 0x58b7c104]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x1c
add cl, dl
jmp 0x40fd44
lea ecx, [esi + 0x3476e8c2]
mov byte [ebp - 0x1ed], dl
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x4e
mov ch, byte [ebp - 0x1ed]
add cl, dl
mov al, cl
mov byte [ebp - 0x1e7], al
mov dword [ebp - 0x1fc], eax
jmp 0x4102ca
lea ecx, [esi + 0x10361080]
mov byte [ebp - 0x1ed], dl
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x80
jmp 0x40fd09
lea edx, [esi - 0x140ac7c2]
mov cl, 0x27
mov al, dl
and al, byte [ebp - 0x1ed]
sub cl, al
add cl, cl
add dl, cl
add dl, byte [ebp - 0x1ed]
jmp 0x410305
lea edx, [esi - 0x384ba004]
mov cl, 0xe
jmp 0x40fcd2
lea ecx, [esi - 0x5c8c7846]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x16
jmp 0x40fcc3
mov al, dl
lea ecx, [esi + 0x7f32af78]
and al, cl
add al, al
sub dl, al
sub dl, 0x48
add dl, cl
mov al, dl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x4103cf
mov al, dl
lea ecx, [esi + 0x5af1d736]
and al, cl
add al, al
sub dl, al
sub dl, 0x7a
add dl, cl
mov al, dl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x4103c9
lea edx, [esi + 0x36b0fef4]
mov cl, 0x2a
mov ah, byte [ebp - 0x1ed]
mov al, ah
and al, dl
sub cl, al
add cl, cl
add cl, ah
jmp 0x410399
lea eax, [ecx + 4]
mov dword [ebp - 0x204], eax
cmp edi, eax
jae 0x40ffce
mov ch, byte [ebp - 0x1ed]
lea edx, [esi - 0x6ddf93df]
mov al, ch
mov cl, ch
and al, dl
add al, al
sub cl, al
add cl, 0x19
add cl, dl
mov al, cl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x40fdf0
lea eax, [ecx + 1]
mov dword [ebp - 0x208], eax
cmp edi, eax
jne 0x40fff1
mov al, dl
lea ecx, [esi + 0x66144630]
and al, cl
add al, al
sub dl, al
sub dl, 0x50
jmp 0x410420
lea eax, [ecx + 3]
cmp edi, eax
jne 0x410015
lea edx, [esi - 0x516a094c]
mov cl, 0xa
mov ch, byte [ebp - 0x1ed]
mov al, ch
and al, dl
sub cl, al
add cl, cl
add cl, ch
jmp 0x41028a
lea eax, [ecx + 4]
cmp edi, eax
jne 0x41003b
mov al, byte [ebp - 0x1ed]
lea edx, [esi - 0x2d29310a]
and al, dl
mov cl, 0x23
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ed]
jmp 0x410303
mov eax, dword [ebp - 0x208]
inc eax
cmp edi, eax
jne 0x410065
mov ah, byte [ebp - 0x1ed]
lea edx, [esi - 0x8e858c8]
mov al, ah
mov cl, 0x3c
and al, dl
sub cl, al
add cl, cl
add cl, ah
add cl, dl
jmp 0x40fce4
mov eax, dword [ebp - 0x204]
inc eax
cmp edi, eax
jne 0x40fdea
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x1b587f7a]
mov al, ah
and al, dl
sub dl, 0x56
jmp 0x410329
lea eax, [edx + 1]
cmp edi, eax
jne 0x4100b3
lea edx, [esi + 0x62bd24e5]
mov al, ch
and al, dl
mov cl, ch
add al, al
sub cl, al
lea eax, [edx - 0x43]
mov dl, byte [ebp - 0x1ed]
add al, cl
jmp 0x4103a3
lea eax, [edx + 3]
cmp edi, eax
jne 0x4100da
lea edx, [esi - 0x30805255]
mov al, ch
and al, dl
mov cl, ch
add al, al
sub cl, al
lea eax, [edx + 0x53]
mov dl, byte [ebp - 0x1ed]
add al, cl
jmp 0x410339
lea eax, [edx + 5]
cmp edi, eax
jne 0x41010d
mov ah, byte [ebp - 0x1ed]
lea ecx, [esi + 0x18015e2f]
mov al, ah
and al, cl
add al, al
sub ah, al
sub ah, 0x49
add ah, cl
mov al, ah
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x4103f7
lea eax, [edx + 2]
cmp edi, eax
jne 0x41012c
lea edx, [esi + 0x3c423671]
mov al, ch
and al, dl
mov cl, ch
add al, al
sub cl, al
sub cl, 0x17
jmp 0x41028a
mov ecx, dword [ebp - 0x1f4]
lea eax, [ecx + 8]
cmp edi, eax
jne 0x40fe34
mov ah, byte [ebp - 0x1ed]
lea ecx, [esi - 0x7b3c190b]
mov al, ah
and al, cl
add al, al
sub ah, al
add ah, 0x4d
add ah, cl
mov al, ah
jmp 0x410424
lea eax, [ecx + 1]
cmp edi, eax
jne 0x41017a
mov al, dl
lea ecx, [esi + 0x5f66039a]
and al, cl
add al, al
sub dl, al
sub dl, 0x36
jmp 0x410420
lea eax, [ecx + 3]
cmp edi, eax
jne 0x41018e
lea edx, [esi - 0x58184be2]
mov cl, 0x17
jmp 0x410000
lea eax, [ecx + 2]
cmp edi, eax
jne 0x4101ad
mov al, dl
lea ecx, [esi - 0xf969b5e]
and al, cl
add al, al
sub dl, al
lea eax, [ecx + edx]
sub al, 0x6e
jmp 0x4103e5
lea eax, [ecx + 5]
cmp edi, eax
jne 0x4101d1
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x5d2bed68]
mov al, ah
mov cl, 0x14
and al, dl
sub cl, al
add cl, cl
add cl, ah
jmp 0x40fc86
lea eax, [ecx + 9]
cmp edi, eax
jne 0x4101e5
lea edx, [esi - 0x7e933a56]
mov cl, 0x2d
jmp 0x40ff7e
mov edx, dword [ebp - 0x1fc]
mov ah, byte [ebp - 0x1ed]
cmp ecx, 3
jb 0x40fd6a
lea edx, [esi - 0x5a526214]
mov al, ah
and al, dl
mov cl, 6
sub cl, al
add cl, cl
add cl, dl
mov dl, byte [ebp - 0x1ed]
add cl, dl
add cl, cl
jmp 0x4103a1
mov ah, byte [ebp - 0x1ed]
lea edx, [esi - 0x361189d2]
mov cl, byte [ebp + esi - 0x98]
mov al, ah
and al, dl
add al, al
sub cl, al
add cl, ah
sub dl, 0x42
jmp 0x41032f
lea edx, [esi - 0x11d0b190]
mov al, ch
and al, dl
mov cl, ch
add al, al
sub cl, al
sub cl, byte [ebp + esi - 0x98]
sub cl, 0x10
jmp 0x41028a
mov al, dl
lea ecx, [esi - 0x504cfe33]
and al, cl
add al, al
sub dl, al
add dl, 0x65
jmp 0x410420
mov ch, byte [ebp - 0x1ed]
lea edx, [esi + 0x67315149]
mov al, ch
mov cl, ch
and al, dl
add al, al
sub cl, al
inc cl
add cl, dl
mov al, cl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
lea edx, [esi - 0x7fb0456f]
mov al, ch
and al, dl
mov cl, ch
add al, al
add dl, 9
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x1f4]
inc edx
movzx eax, cl
add eax, edx
mov byte [ebp + esi - 0x98], cl
mov dword [ebp - 0x1f4], edx
sub esi, eax
lea edx, [esi + 0x127026b2]
mov cl, 0x11
mov al, dl
and al, ch
sub cl, al
or eax, 0xffffffff
add cl, cl
add cl, dl
add cl, ch
inc edi
sub eax, edi
mov byte [ebp + esi - 0x98], cl
add esi, eax
jmp 0x410430
mov al, dl
lea ecx, [esi + 0x42f07907]
and al, cl
add al, al
sub dl, al
sub dl, 0x31
add dl, cl
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 0x1e7], dl
jmp 0x4103fd
mov ah, byte [ebp - 0x1ed]
lea edx, [esi - 0x591377d]
mov al, ah
and al, dl
add dl, 0x6b
add al, al
mov cl, ah
sub cl, al
add cl, dl
mov dl, byte [ebp - 0x1ed]
mov al, cl
mov byte [ebp - 0x1e7], al
mov dword [ebp - 0x1fc], eax
mov al, dl
lea ecx, [esi + 0x5c0ee24f]
and al, cl
add al, al
sub dl, al
sub dl, 0x29
add dl, byte [ebp - 0x1fc]
add dl, cl
mov byte [ebp + esi - 0x98], dl
jmp 0x4103f1
lea ecx, [esi - 0x7253c043]
mov al, dl
and al, cl
add al, al
sub cl, al
sub cl, 0x2b
jmp 0x40fc6e
mov ah, byte [ebp - 0x1ed]
lea edx, [esi + 0x452a8f39]
mov al, ah
mov cl, ah
and al, dl
add al, al
sub cl, al
add dl, 0x71
add cl, dl
mov dl, byte [ebp - 0x1ed]
mov al, cl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
mov al, dl
lea ecx, [esi + 0x37ce0a0d]
and al, cl
add al, al
sub dl, al
sub dl, 0x5b
add dl, cl
mov byte [ebp + esi - 0x98], dl
inc dword [ebp - 0x1f4]
dec esi
jmp 0x410440
mov al, dl
lea ecx, [esi - 0x4bd8d1cf]
and al, cl
add al, al
sub dl, al
lea eax, [ecx + edx]
sub al, 0x57
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
add edi, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1fc]
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add esi, ecx
jmp 0x410440
mov edx, dword [ebp - 0x204]
lea ecx, [esi + 0x2323cd29]
mov al, cl
and al, dl
add al, al
sub dl, al
sub dl, 0x1f
add dl, cl
mov al, dl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
movzx eax, byte [ebp + esi - 0x98]
add eax, dword [ebp - 0x1f4]
add esi, eax
mov eax, dword [ebp - 0x1f4]
inc esi
jmp 0x40f96f
mov al, dl
lea ecx, [esi + 0x579ab5eb]
and al, cl
add al, al
sub dl, al
sub dl, 0x6d
add dl, cl
mov al, dl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
mov eax, dword [ebp - 0x1f4]
jmp 0x40f96d
mov al, dl
lea ecx, [esi + 0x3359dda9]
and al, cl
add al, al
sub dl, al
add dl, 0x61
add dl, cl
mov al, dl
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 0x1e7], al
jmp 0x40f95c
mov eax, dword [ebp + 0x14b2e5a]
jmp 0x4104b4
mov eax, dword [ebp + 0x12b9a7b]
jmp 0x4104b4
mov eax, dword [ebp - 0x98]
push 0x4cae10
mov dword [0x4cae0c], eax
call fcn.0046beb7
pop ecx
xor edx, edx
mov dword [ebp - 0x7c], 0x2b2a2d2d
lea edi, [ebp - 0x78]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov ecx, dword [0x4cad2c]
mov esi, dword [0x4cad28]
mov dword [ebp - 0x1f4], ecx
mov edi, edx
cmp edi, 0x14
jae 0x4110e9
mov dl, byte [ebp + edi - 0x7c]
mov dword [ebp - 0x1ec], edx
movzx eax, dl
mov dword [ebp - 0x204], eax
cmp esi, edi
ja 0x4110e1
lea eax, [ecx + 0x41]
cmp esi, eax
jae 0x41054b
lea eax, [edi - 0x4182352a]
mov dword [ebp - 0x1f8], eax
and eax, dword [ebp - 0x204]
add eax, eax
sub dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f8]
add eax, dword [ebp - 0x204]
add al, 0x26
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x410580
lea eax, [ecx + 1]
cmp esi, eax
je 0x41103d
inc eax
cmp esi, eax
je 0x410ff5
lea eax, [ecx + 5]
cmp esi, eax
je 0x410fb3
lea eax, [ecx + 4]
cmp esi, eax
je 0x410f86
lea eax, [ecx + 2]
cmp esi, eax
je 0x410f30
cmp ecx, edi
ja 0x4110d9
lea eax, [ecx + 0x10]
cmp esi, eax
jae 0x4105b0
lea edx, [edi - 0x6a63f1a2]
mov cl, 0x37
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
jmp 0x4107b0
lea eax, [ecx + 1]
cmp esi, eax
je 0x410f1a
lea eax, [ecx + 3]
cmp esi, eax
je 0x410f10
lea eax, [ecx + 4]
cmp esi, eax
je 0x410f03
lea eax, [ecx + 5]
cmp esi, eax
je 0x410ed6
lea eax, [ecx + 7]
cmp esi, eax
je 0x410e69
lea eax, [ecx + 6]
cmp esi, eax
je 0x410e48
lea eax, [esi + ecx]
cmp eax, edi
jbe 0x410ad3
lea eax, [ecx + 0x80]
cmp esi, eax
je 0x410ab2
lea eax, [ecx + 4]
cmp esi, eax
je 0x410a83
lea eax, [ecx + 0x61]
cmp esi, eax
je 0x410a6d
lea eax, [ecx + 0x40]
cmp esi, eax
je 0x410a4a
lea eax, [ecx + 5]
mov dword [ebp - 0x208], eax
cmp esi, eax
je 0x410a3d
lea eax, [ecx + 0x7a]
cmp esi, eax
je 0x410a27
lea eax, [ecx + 0x10]
cmp esi, eax
je 0x410a0c
lea eax, [ecx + 2]
cmp esi, eax
je 0x4109eb
lea eax, [ecx + 0x400]
cmp esi, eax
je 0x4109d5
lea eax, [ecx + 0x20]
cmp esi, eax
je 0x4105fd
mov esi, dword [ebp - 0x208]
lea ecx, [esi + 0x5a]
lea eax, [ecx + 0x7a]
mov dword [ebp - 0x1f4], ecx
cmp esi, eax
jb 0x4110a8
lea eax, [ecx + 0x42]
cmp esi, eax
jb 0x41107c
lea eax, [ecx + 2]
cmp esi, eax
jb 0x410802
lea eax, [ecx + 0x400]
cmp esi, eax
jb 0x4107cb
lea eax, [ecx + 0x20]
mov dword [ebp - 0x208], eax
cmp esi, eax
jb 0x41079f
lea eax, [ecx + 3]
cmp esi, eax
jb 0x4109c8
lea eax, [ecx + 0x1000]
cmp esi, eax
jb 0x4109a3
lea eax, [ecx + 9]
cmp esi, eax
jb 0x410979
lea eax, [ecx + 0x2a]
cmp esi, eax
jb 0x410942
lea eax, [ecx + 0x200]
cmp esi, eax
jb 0x4105fd
mov esi, dword [ebp - 0x208]
lea ecx, [esi + 0xa]
lea eax, [ecx + 3]
mov dword [ebp - 0x1f4], ecx
cmp esi, eax
ja 0x41092c
lea eax, [ecx + 0x1000]
cmp esi, eax
ja 0x410905
lea eax, [ecx + 0x28]
cmp esi, eax
ja 0x4108d9
lea eax, [ecx + 0x2a]
cmp esi, eax
ja 0x4108c3
lea eax, [ecx + 0x200]
mov dword [ebp - 0x208], eax
cmp esi, eax
ja 0x4108a2
lea eax, [ecx + 0xa]
cmp esi, eax
ja 0x410876
lea eax, [ecx + 1]
cmp esi, eax
ja 0x41085e
lea eax, [ecx + 0x3e8]
cmp esi, eax
ja 0x410851
lea eax, [ecx + 6]
cmp esi, eax
ja 0x410839
lea eax, [ecx + 0x41]
cmp esi, eax
ja 0x4105fd
mov esi, dword [ebp - 0x208]
lea ecx, [esi + 0x64]
mov dword [ebp - 0x1f4], ecx
jmp 0x4105fd
lea ecx, [edi - 0x28649666]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x36
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x4105f2
lea edx, [edi + 0xee52fa6]
mov cl, 0x3b
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x410580
lea edx, [edi + 0x462ef5b2]
mov cl, 0x11
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x4104fd
lea ecx, [edi + 0x35edb1ec]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x74
add cl, dl
jmp 0x410f52
lea edx, [edi + 0x6d3777f8]
mov cl, 0x1c
jmp 0x410a8b
lea ecx, [edi - 0x5b7ec1fc]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x1c
add cl, dl
jmp 0x410fa2
lea ecx, [edi - 0x2434fbf0]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x70
add cl, dl
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
mov eax, dword [ebp - 0x1ec]
jmp 0x410e06
lea edx, [edi + 0x1314ca1c]
mov cl, 0x1e
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x1ec]
jmp 0x410fc6
lea ecx, [edi + 0x4a5e9028]
mov al, cl
and al, dl
add al, al
sub cl, al
sub dl, 0x18
jmp 0x410cd0
lea ecx, [edi - 0x7e57a9cc]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x6c
add cl, dl
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
mov eax, dword [ebp - 0x1ec]
jmp 0x410e9c
lea edx, [edi - 0x470de3c0]
mov cl, 0x20
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov edx, dword [ebp - 0x1ec]
jmp 0x41100e
lea ecx, [edi - 0xfc41db4]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x14
jmp 0x411057
lea edx, [edi - 0x58bae96]
mov cl, 0xd
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add dl, cl
mov ecx, dword [ebp - 0x1f4]
add dl, byte [ebp - 0x1ec]
mov dword [ebp - 0x1f8], edx
mov byte [ebp - 0x1e5], dl
mov byte [ebp + edi - 0x7c], dl
jmp 0x411076
lea ecx, [edi + 0x31be1776]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x3a
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], edx
mov byte [ebp - 0x1e5], dl
jmp 0x410da6
lea edx, [edi + 0x6907dd82]
mov cl, 0x39
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
add cl, dl
mov al, cl
jmp 0x410b46
lea edx, [edi - 0x5fae5c72]
mov cl, 0xf
jmp 0x410ae6
lea ecx, [edi - 0x41050f18]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x58
jmp 0x411057
lea edx, [edi - 0x9bb490c]
mov cl, 0x2a
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
jmp 0x41100c
mov eax, dword [ebp - 0x1ec]
lea edx, [edi + 0x2d8e7d00]
mov cl, dl
and cl, al
add cl, cl
sub al, cl
add al, dl
jmp 0x410e84
lea ecx, [edi + 0x64d8430c]
mov al, cl
and al, dl
add al, al
sub cl, al
sub dl, 0x54
jmp 0x410cd0
lea edx, [edi - 0x63ddf6e8]
mov cl, 0x2c
jmp 0x4108aa
lea edx, [edi - 0x2c9430dc]
mov cl, 2
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, dl
add cl, al
jmp 0x410df4
lea ecx, [edi + 0xab59530]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x50
jmp 0x41086f
lea edx, [edi + 0x41ff5b3c]
mov cl, 0x2e
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x1ec]
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x410f77
lea edx, [edi + 0x79492148]
mov cl, 4
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
jmp 0x41084a
lea eax, [ecx + 0x7a]
cmp esi, eax
jae 0x410ba4
lea edx, [edi + 0x645b1cfa]
mov cl, 0x15
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1ec]
add cl, dl
mov al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
lea eax, [esi + ecx]
cmp eax, 0x20
je 0x410e2b
lea eax, [ecx + 5]
cmp esi, eax
jbe 0x410c5f
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x43d8956e]
mov al, cl
and al, dl
add al, al
sub cl, al
lea eax, [edx - 2]
mov edx, dword [ebp - 0x1ec]
add al, cl
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1e5], al
mov dword [ebp - 0x1f8], eax
cmp esi, 0x200
jae 0x410dd2
lea eax, [ecx + 0x64]
cmp esi, eax
jbe 0x410cfc
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x7f51f5f0]
and al, dl
mov cl, 0x38
sub cl, al
mov eax, dword [ebp - 0x1ec]
add cl, cl
add cl, al
add dl, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], edx
mov byte [ebp - 0x1e5], dl
jmp 0x410dac
lea eax, [ecx + 1]
cmp esi, eax
jne 0x410bc1
lea ecx, [edi - 0x2eea9120]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x20
jmp 0x411057
inc eax
cmp esi, eax
jne 0x410bd3
lea edx, [edi - 0x6634572c]
mov cl, 0x1a
jmp 0x4109f3
lea eax, [ecx + 3]
cmp esi, eax
jne 0x410c0c
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi - 0x435b6f5c]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x7c
add cl, dl
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
mov eax, dword [ebp - 0x1ec]
jmp 0x410e00
lea eax, [ecx + 4]
cmp esi, eax
jne 0x410c2d
mov al, dl
lea ecx, [edi - 0x7aa53568]
and al, cl
add al, al
sub dl, al
sub dl, 0x28
add dl, cl
mov al, dl
jmp 0x410fa4
lea eax, [ecx + 8]
cmp esi, eax
jne 0x410b10
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x16c73e80]
mov al, cl
and al, dl
add al, al
sub cl, al
lea eax, [edx + 0x80]
mov edx, dword [ebp - 0x1ec]
add al, cl
jmp 0x410f54
lea eax, [ecx + 1]
cmp esi, eax
jne 0x410c7b
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0xc8ecf62]
and al, dl
mov cl, 0x29
jmp 0x410f40
inc eax
cmp esi, eax
jne 0x410c99
lea edx, [edi + 0x66b17d3e]
mov cl, 0x27
mov al, byte [ebp - 0x1ec]
and al, dl
sub cl, al
add cl, cl
jmp 0x410dea
lea eax, [ecx + 3]
cmp esi, eax
jne 0x410cb8
mov al, dl
lea ecx, [edi + 0x2f67b732]
and al, cl
add al, al
sub dl, al
lea eax, [ecx + edx]
sub al, 0x5e
jmp 0x410fc8
lea eax, [ecx + 4]
cmp esi, eax
jne 0x410cd7
mov al, dl
lea ecx, [edi - 0x7e20eda]
and al, cl
add al, al
sub dl, al
sub dl, 0xa
add dl, cl
jmp 0x410ef2
lea eax, [ecx + 7]
cmp esi, eax
jne 0x410b58
mov al, dl
lea ecx, [edi + 0x52409f02]
and al, cl
add al, al
sub dl, al
sub dl, 0xe
add dl, cl
mov al, dl
jmp 0x41105b
lea eax, [ecx + 1]
cmp esi, eax
jne 0x410d16
mov al, dl
lea ecx, [edi + 0x48082fe4]
and al, cl
add al, al
sub dl, al
sub dl, 0x3c
jmp 0x410cf3
inc eax
cmp esi, eax
jne 0x410d4a
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x268b5c34]
and al, dl
mov cl, 0x36
sub cl, al
add cl, cl
mov eax, dword [ebp - 0x1ec]
add cl, al
add cl, dl
mov dword [ebp - 0x1f8], ecx
mov byte [ebp - 0x1e5], cl
jmp 0x410e96
lea eax, [ecx + 3]
cmp esi, eax
jne 0x410d70
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x6ae117b4]
and al, dl
mov cl, 0xa
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
jmp 0x410fc4
lea eax, [ecx + 5]
cmp esi, eax
jne 0x410d84
lea edx, [edi + 0x339751a8]
mov cl, 0x34
jmp 0x410c88
lea eax, [ecx + 8]
cmp esi, eax
jne 0x410da0
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x7246007c]
and al, dl
mov cl, 0x32
jmp 0x410ac2
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1ec]
cmp ecx, 0x41
jb 0x410970
lea edx, [edi + 0x56703978]
mov cl, 0x1c
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
add cl, cl
jmp 0x410f4c
mov al, byte [ebp - 0x1ec]
lea edx, [edi + 0x1f26736c]
and al, dl
mov cl, 6
sub cl, al
add cl, cl
add cl, byte [ebp + edi - 0x7c]
mov eax, dword [ebp - 0x1ec]
add cl, al
add cl, dl
mov byte [ebp - 0x1e5], cl
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1ec], eax
lea edx, [edi - 0x7c7e6f9a]
mov cl, 0x1b
and al, dl
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, byte [ebp - 0x1f8]
add cl, dl
mov byte [ebp + edi - 0x7c], cl
jmp 0x410fd4
mov al, byte [ebp - 0x1ec]
lea edx, [edi - 0x182352a0]
and al, dl
mov cl, 0x30
sub cl, al
add cl, cl
sub cl, byte [ebp + edi - 0x7c]
jmp 0x410d2f
lea edx, [edi - 0x5bfbe80e]
mov cl, 0x31
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x1ec]
jmp 0x411059
mov ecx, dword [ebp - 0x1ec]
lea edx, [edi + 0x1297a40a]
mov al, dl
and al, cl
add al, al
sub cl, al
sub cl, 0x46
add cl, dl
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1ec], eax
mov cl, byte [ebp - 0x1ec]
lea edx, [edi + 0x4c37ca5a]
and al, dl
sub dl, 0x76
add al, al
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x1f4]
inc edx
movzx eax, cl
add eax, edx
mov byte [ebp + edi - 0x7c], cl
mov dword [ebp - 0x1f4], edx
sub edi, eax
mov edx, dword [ebp - 0x1ec]
jmp 0x41101c
lea edx, [edi + 0x49e16a16]
mov cl, 0x33
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add dl, cl
add dl, byte [ebp - 0x1ec]
mov dword [ebp - 0x1f8], edx
mov byte [ebp - 0x1e5], dl
jmp 0x410fe0
lea edx, [edi - 0x7ed4cfde]
mov cl, 9
jmp 0x4108aa
lea edx, [edi - 0x104143c6]
mov cl, 0x35
jmp 0x410f8e
lea ecx, [edi + 0x5e524852]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x3e
jmp 0x41084a
lea edx, [edi - 0x331a2b96]
mov cl, 0xd
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, byte [ebp - 0x1ec]
add cl, dl
mov edx, dword [ebp - 0x1ec]
mov al, cl
mov byte [ebp - 0x1e5], al
mov dword [ebp - 0x1f8], eax
mov al, dl
lea ecx, [edi - 0x4534a98e]
and al, cl
add al, al
sub dl, al
sub dl, 0x1e
add dl, cl
mov byte [ebp + edi - 0x7c], dl
mov edx, dword [ebp - 0x1f4]
inc edx
mov dword [ebp - 0x1f4], edx
jmp 0x410fb0
lea edx, [edi + 0x3b796082]
mov cl, 0x39
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x1ec]
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
dec edi
jmp 0x410fea
lea ecx, [edi - 0x55f31366]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x36
add cl, dl
mov al, cl
mov byte [ebp - 0x1e5], al
mov dword [ebp - 0x1f8], eax
add esi, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f8]
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add edi, ecx
mov ecx, dword [ebp - 0x1f4]
jmp 0x411076
mov edx, dword [ebp - 0x204]
lea ecx, [edi + 0x4fea3ebe]
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x32
add cl, dl
mov al, cl
mov byte [ebp - 0x1e5], al
mov dword [ebp - 0x1f8], eax
lea ecx, [edi - 0x4f6d18ac]
mov al, cl
and al, dl
add al, al
sub cl, al
or eax, 0xffffffff
sub cl, 0x4c
add cl, dl
inc esi
sub eax, esi
mov byte [ebp + edi - 0x7c], cl
add edi, eax
jmp 0x411067
mov al, byte [ebp - 0x204]
lea edx, [edi - 0x78cbfb36]
and al, dl
mov cl, 0x3d
sub cl, al
add cl, cl
add cl, byte [ebp - 0x204]
add cl, dl
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
movzx eax, byte [ebp + edi - 0x7c]
mov ecx, dword [ebp - 0x1f4]
add eax, ecx
add edi, eax
inc edi
jmp 0x4104ea
lea ecx, [edi + 0x7d78bbbe]
mov al, cl
and al, dl
add al, al
sub cl, al
lea eax, [edx - 0x32]
add al, cl
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], eax
xor edx, edx
mov byte [ebp - 0x1e5], al
jmp 0x4104e8
lea edx, [edi - 0x4b3d7e36]
mov cl, 0x3d
mov al, dl
and al, byte [ebp - 0x1ec]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x1ec]
xor edx, edx
mov al, cl
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1e5], al
jmp 0x4104d6
mov eax, dword [ebp + 0x15a2558]
jmp 0x4110ec
mov eax, dword [ebp + 0x1754252]
jmp 0x4110ec
mov eax, dword [ebp - 0x7c]
add dword [0x4cae0c], eax
xor edx, edx
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], edx
mov byte [ebp - 0x238], dl
lea ecx, [ebp - 0x2cc]
push dword [ebp - 0x238]
mov byte [ebp - 4], 0x26
call fcn.0041613f
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x27
push ecx
lea edx, [ebp - 0xcc]
mov ecx, eax
push edx
call fcn.0041618a
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x2cc]
call fcn.0040cbba
jmp 0x40f5c7