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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov eax, dword [0x4642c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0x110], eax
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x4663cc]
sete byte [esi + 0x37]
cmp eax, 0xa
mov eax, 0xa756aa38
setl byte [esi + 0x38]
jmp 0x4050e0
mov eax, dword [0x4663d0]
mov edi, 0x73402c63
mov ebx, 0x9e2d7b1b
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x9e2d7b1b
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4663cc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
cmp eax, 0xf211afed
jg 0x405160
cmp eax, 0xbb4478da
jg 0x4051d0
cmp eax, 0x9e2d7b1a
jle 0x4052a1
cmp eax, 0xb0e41019
jle 0x4054ae
cmp eax, 0xb4fd47bd
jg 0x405744
cmp eax, 0xb20c74f8
jg 0x405bdd
cmp eax, 0xb0e4101a
je 0x40618e
cmp eax, 0xb164b53c
jne 0x4050e0
mov eax, dword [0x4663d0]
mov edi, 0xfce32172
mov ebx, 0x8d4824ec
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8d4824ec
jmp 0x4050b9
cmp eax, 0x24c048b0
jg 0x405240
cmp eax, 0x6af264e
jle 0x4052f7
cmp eax, 0x19c513a5
jle 0x405509
cmp eax, 0x1f692e68
jg 0x405775
cmp eax, 0x1b69256f
jg 0x405c11
cmp eax, 0x19c513a6
je 0x4061a4
cmp eax, 0x1a3467cc
jne 0x4050e0
mov eax, dword [0x4663d0]
mov ebx, 0x30ca678b
mov edi, 0x6d245e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x6d245e
jmp 0x4071a6
cmp eax, 0xd7bc1049
jle 0x405343
cmp eax, 0xe7ac026f
jle 0x405553
cmp eax, 0xeba97946
jg 0x4057a0
cmp eax, 0xea443946
jg 0x405cac
cmp eax, 0xe7ac0270
je 0x4061ae
cmp eax, 0xe97b8447
jne 0x4050e0
mov ecx, dword [esi + 0x80]
push dword [esi + 0x5c]
push dword [esi + 0x58]
push dword [esi + 0x84]
call fcn.00410670
mov eax, dword [esi + 0x28]
mov eax, 0xfb3c09ed
jmp 0x4050e0
cmp eax, 0x494bbf89
jg 0x405427
cmp eax, 0x3886c6e1
jle 0x40558c
cmp eax, 0x3c27bf0e
jg 0x4057da
cmp eax, 0x38fd7334
jg 0x405ccc
cmp eax, 0x3886c6e2
je 0x4061b8
cmp eax, 0x38cc2039
jne 0x4050e0
mov eax, dword [0x4663d0]
mov ebx, 0xb4fd47be
mov edi, 0x8e7fee7b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8e7fee7b
jmp 0x4071a6
cmp eax, 0x8d4824eb
jg 0x4055d0
cmp eax, 0x87693dfa
jle 0x405848
cmp eax, 0x8b16eb1d
jg 0x405cec
cmp eax, 0x87693dfb
je 0x4061c2
cmp eax, 0x8a0210f0
jne 0x4050e0
mov eax, dword [0x4663d0]
mov edi, 0xd2e7055b
mov ebx, 0x41f8b83f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x41f8b83f
jmp 0x4050b1
cmp eax, 0xfa4efd15
jg 0x405611
cmp eax, 0xf58ac5f2
jle 0x40587f
cmp eax, 0xf8195544
jg 0x405d23
cmp eax, 0xf58ac5f3
je 0x4061e3
cmp eax, 0xf71f7da6
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xf0], eax
mov eax, 0x9994b5e0
jmp 0x4050e0
cmp eax, 0xc7cada1b
jg 0x405684
cmp eax, 0xc19cc698
jle 0x4058bd
cmp eax, 0xc3b91c1b
jg 0x405e55
cmp eax, 0xc19cc699
je 0x405097
cmp eax, 0xc33f53c5
jne 0x4050e0
mov eax, dword [esi + 0x6c]
mov ebx, 0x58def9ef
mov ecx, dword [eax]
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, dword [0x4663c8]
lea edi, [edx + 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0x3b2c0e7f
sete dl
cmp dword [0x4663c4], 0xa
setl dh
or dh, dl
mov edx, 0x594bb81
cmovne edx, edi
mov edi, 0x594bb81
cmovne edi, ebx
mov ebx, 0x63eb2e51
nop dword [eax]
cmp ebx, 0x58def9ee
jle 0x405400
cmp ebx, 0x58def9ef
je 0x405415
cmp ebx, 0x63eb2e51
je 0x405419
cmp ebx, 0x6004b7eb
jne 0x4053d0
mov ebx, edi
jmp 0x4053d0
cmp ebx, 0x594bb81
je 0x405420
cmp ebx, 0x3b2c0e7f
jne 0x4053d0
jmp 0x40623f
mov ebx, edx
jmp 0x4053d0
mov ebx, 0x6004b7eb
jmp 0x4053d0
mov ebx, 0x58def9ef
jmp 0x4053d0
cmp eax, 0x6ba310a5
jg 0x4056fb
cmp eax, 0x63219731
jle 0x405911
cmp eax, 0x6425c059
jg 0x405e9e
cmp eax, 0x63219732
je 0x406274
cmp eax, 0x638c086c
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x1572f6da
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x81796fcd
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
cmp dword [esi + 0x88], 0
sete byte [esi + 0x3e]
jmp 0x4050e0
cmp eax, 0xa4e79d73
jle 0x40593c
cmp eax, 0xaf40a2df
jg 0x405eca
cmp eax, 0xa4e79d74
je 0x40627e
cmp eax, 0xa756aa38
jne 0x4050e0
movzx ecx, byte [esi + 0x37]
movzx eax, byte [esi + 0x38]
mov edi, 0x1cb456aa
mov ebx, 0xdfb3d790
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xdfb3d790
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4050e0
cmp eax, 0xf0ab7c0
jle 0x40597f
cmp eax, 0x10d1684b
jg 0x405f06
cmp eax, 0xf0ab7c1
je 0x4062b2
cmp eax, 0x10231667
jne 0x4050e0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0x7c6ef29b
jmp 0x4050e0
cmp eax, 0xe19af7ed
jle 0x4059aa
cmp eax, 0xe3acaff9
jg 0x405f26
cmp eax, 0xe19af7ee
je 0x4062d8
cmp eax, 0xe2391d73
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov eax, 0x460a8198
jmp 0x4050e0
cmp eax, 0x30ca678a
jle 0x4059ea
cmp eax, 0x35d52090
jg 0x405f46
cmp eax, 0x30ca678b
je 0x4062e2
cmp eax, 0x3129fdfd
jne 0x4050e0
mov dword [esi + 0x68], 0
mov eax, 0xfd3dc928
mov dword [esi + 0x64], 0
jmp 0x4050e0
cmp eax, 0x95fd2816
jle 0x405acb
cmp eax, 0x9994b5df
jg 0x405f7c
cmp eax, 0x95fd2817
je 0x4062ec
cmp eax, 0x989d427e
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xe0]
mov dword [eax], ecx
mov eax, 0x6af264f
jmp 0x4050e0
cmp eax, 0xfce32171
jle 0x405afe
cmp eax, 0xfd3dc927
jg 0x405fb8
cmp eax, 0xfce32172
je 0x406306
cmp eax, 0xfd1a624d
jne 0x4050e0
mov eax, dword [esi + 0xec]
mov ecx, 0x7557d71
mov dword [esi + 4], 0xffffffff
mov dword [esi + 8], eax
nop word cs:[eax + eax]
cmp ecx, 0xa40d2a95
je 0x406357
cmp ecx, 0x7557d71
jne 0x405660
mov eax, dword [esi + 4]
mov ecx, 0xa40d2a95
cmp eax, dword [esi + 8]
sete al
jmp 0x405660
cmp eax, 0xcdb4563b
jle 0x405b52
cmp eax, 0xd2e7055a
jg 0x405fd8
cmp eax, 0xcdb4563c
je 0x406372
cmp eax, 0xcf884cf1
jne 0x4050e0
mov eax, dword [esi + 0x20]
mov edi, 0xeb5cb2de
mov ebx, 0xdb499c57
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x48567dff
and eax, 4
and ecx, 0xb7a98200
or edx, ecx
xor edx, 0xb7a98204
or eax, edx
mov dword [esi + 0x78], eax
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdb499c57
jmp 0x4050b9
cmp eax, 0x734d03bd
jle 0x405b88
cmp eax, 0x7c1b1b30
jg 0x406003
cmp eax, 0x734d03be
je 0x4063a5
cmp eax, 0x799997d5
jne 0x4050e0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov dword [esi + 0xd0], eax
mov eax, 0x6ba310a6
jmp 0x4050e0
cmp eax, 0xb85a9829
jg 0x406032
cmp eax, 0xb4fd47be
je 0x4063ba
cmp eax, 0xb82cea5c
jne 0x4050e0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x48]
mov eax, 0xbf04979
jmp 0x4050e0
cmp eax, 0x22fb787d
jg 0x40607c
cmp eax, 0x1f692e69
je 0x4063e8
cmp eax, 0x1ff01ae0
jne 0x4050e0
mov eax, 0xf1649a96
jmp 0x4050e0
cmp eax, 0xee676e64
jg 0x406147
cmp eax, 0xeba97947
je 0x4063fd
cmp eax, 0xec6b4bd5
jne 0x4050e0
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0x8b3182c0
vmovsd qword [esi + 0x100], xmm0
jmp 0x4050e0
cmp eax, 0x442e8aab
jle 0x406173
cmp eax, 0x442e8aac
je 0x40641c
cmp eax, 0x460a8198
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xee676e65
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xe2391d73
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x14]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x20], ecx
jmp 0x4050e0
cmp eax, 0x81796fcd
je 0x406426
cmp eax, 0x818fd5f7
je 0x406436
cmp eax, 0x86362b7c
jne 0x4050e0
cmp byte [esi + 0x39], 0
mov eax, 0x37883a58
mov ecx, 0x3129fdfd
cmovne eax, ecx
jmp 0x4050e0
cmp eax, 0xf211afee
je 0x40644c
cmp eax, 0xf3e8e1e9
je 0x406456
cmp eax, 0xf4cea389
jne 0x4050e0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x30], eax
mov eax, 0xc7170f62
jmp 0x4050e0
cmp eax, 0xbb4478db
je 0x406460
cmp eax, 0xbbf47171
je 0x4064ae
cmp eax, 0xc195fe07
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xc9f4cf7f
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xbbf47171
jmp 0x40679d
cmp eax, 0x494bbf8a
je 0x4064ee
cmp eax, 0x49830167
je 0x4064fb
cmp eax, 0x4a41d3e2
jne 0x4050e0
mov eax, 0xf0ab7c1
jmp 0x4050e0
cmp eax, 0x9e2d7b1b
je 0x4065b7
cmp eax, 0xa069f1cc
je 0x4065c1
cmp eax, 0xa4ba89e6
jne 0x4050e0
mov eax, dword [esi + 0xd4]
mov ecx, 0x1f692e69
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, 0xf8195545
cmove eax, ecx
jmp 0x4050e0
cmp eax, 0x6af264f
je 0x406678
cmp eax, 0xbf04979
je 0x4066ac
cmp eax, 0xe590f67
jne 0x4050e0
mov eax, 0xb2348acc
jmp 0x4050e0
cmp eax, 0xd7bc104a
je 0x4066e4
cmp eax, 0xdb499c57
je 0x406718
cmp eax, 0xdfb3d790
jne 0x4050e0
mov eax, 0x66428362
cmp eax, 0x66428362
je 0x4059e3
cmp eax, 0x4e8adcd9
jne 0x4059d0
jmp 0x40673d
mov eax, 0x4e8adcd9
jmp 0x4059d0
cmp eax, 0x24c048b1
je 0x406750
cmp eax, 0x2920fbc0
je 0x40676f
cmp eax, 0x2a7c9079
jne 0x4050e0
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov edi, 0xe61c2e20
mov ebx, 0x3913c352
add eax, dword [esi + 0x50]
mov ecx, dword [0x4663c0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4663bc], 0xa
setl dl
or dl, cl
mov edx, 0xe61c2e20
mov ecx, 0x36883a56
cmovne edx, ecx
mov ecx, 0x9017c7e2
cmovne edi, ecx
nop word cs:[eax + eax]
cmp ebx, 0xe61c2e1f
jle 0x405aa0
cmp ebx, 0xe61c2e20
je 0x405ab4
cmp ebx, 0x36883a56
je 0x4067b2
cmp ebx, 0x3913c352
jne 0x405a70
mov dword [esi + 4], eax
mov ebx, 0xe0cc9c1f
jmp 0x405a70
cmp ebx, 0x9017c7e2
je 0x405abe
cmp ebx, 0xe0cc9c1f
jne 0x405a70
mov ebx, edi
jmp 0x405a70
mov ebx, dword [esi + 4]
mov ebx, 0x9017c7e2
jmp 0x405a70
mov ecx, dword [esi + 4]
mov ebx, edx
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x24], ecx
jmp 0x405a70
cmp eax, 0x8d4824ec
je 0x4068c6
cmp eax, 0x8e72d3c5
je 0x4068d6
cmp eax, 0x8e7fee7b
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, 0xb4fd47be
jmp 0x4050e0
cmp eax, 0xfa4efd16
je 0x4068eb
cmp eax, 0xfb3c09ed
je 0x406998
cmp eax, 0xfbd1f901
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xe2391d73
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x460a8198
jmp 0x40679d
cmp eax, 0xc7cada1c
je 0x4069e3
cmp eax, 0xc9f4cf7f
je 0x4069f9
cmp eax, 0xca449b2e
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, 0xb03249c1
jmp 0x4050e0
cmp eax, 0x6ba310a6
je 0x406a06
cmp eax, 0x71507c71
je 0x406acc
cmp eax, 0x73402c63
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x818fd5f7
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9e2d7b1b
jmp 0x406b0f
cmp eax, 0xb20c74f9
je 0x406ad6
cmp eax, 0xb2348acc
jne 0x4050e0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0xf3e8e1e9
jmp 0x4050e0
cmp eax, 0x1b692570
je 0x406ae0
cmp eax, 0x1cb456aa
jne 0x4050e0
push eax
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x28], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, 0x66428362
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
mov dword [eax], 0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
nop word cs:[eax + eax]
cmp ecx, 0x66428362
je 0x405ca5
cmp ecx, 0x4e8adcd9
jne 0x405c90
jmp 0x406b25
mov ecx, 0x4e8adcd9
jmp 0x405c90
cmp eax, 0xea443947
je 0x406b98
cmp eax, 0xeb5cb2de
jne 0x4050e0
mov eax, 0x38cc2039
jmp 0x4050e0
cmp eax, 0x38fd7335
je 0x406c38
cmp eax, 0x3b93a135
jne 0x4050e0
mov eax, 0xeba97947
jmp 0x4050e0
cmp eax, 0x8b16eb1e
je 0x406c4a
cmp eax, 0x8b3182c0
jne 0x4050e0
xor eax, eax
cmp eax, dword [esi + 0x100]
mov eax, 0
sbb eax, dword [esi + 0x104]
mov eax, 0x652a8c27
setl byte [esi + 0x3a]
jmp 0x4050e0
cmp eax, 0xf8195545
je 0x406d07
cmp eax, 0xfa135bb3
jne 0x4050e0
mov eax, dword [0x4663b8]
mov ecx, dword [0x4663b4]
mov edx, 0x873340cf
lea edi, [eax - 1]
mov dword [esi + 0x2c], ecx
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp ecx, 0xa
setl cl
xor cl, al
mov eax, 0xac49e599
mov ecx, 0xac49e599
cmovne edx, eax
mov eax, dword [esi + 0xe8]
cmp edi, 0xffffffff
mov ebx, edx
cmove ebx, ecx
mov ecx, ebx
mov eax, dword [eax]
add eax, dword [esi + 0x8c]
cmp edi, 0xffffffff
mov edi, 0xa159a221
sete byte [esi + 3]
cmp dword [esi + 0x2c], 0xa
mov dword [esi + 0x24], eax
cmovge ecx, edx
setl byte [esi + 0x18]
nop word cs:[eax + eax]
cmp edi, 0xac49e598
jg 0x405de0
cmp edi, 0x873340cf
je 0x405e02
cmp edi, 0xa159a221
je 0x405e09
cmp edi, 0xa92d5f4e
jne 0x405db0
jmp 0x406d11
cmp edi, 0xac49e599
je 0x405e37
cmp edi, 0xbad9ed05
je 0x405e41
cmp edi, 0x564339e1
jne 0x405db0
mov eax, dword [esi + 0x24]
mov edi, ecx
mov dword [esi + 8], eax
jmp 0x405db0
mov edi, 0x564339e1
jmp 0x405db0
mov dh, byte [esi + 3]
movzx ebx, byte [esi + 0x18]
mov edi, 0x873340cf
mov eax, 0x564339e1
mov bh, dh
xor bh, bl
test bl, bl
cmovne edi, eax
test dh, dh
mov edx, 0x873340cf
cmove edi, edx
test bh, bh
cmovne edi, eax
jmp 0x405db0
mov edi, 0xbad9ed05
jmp 0x405db0
mov edx, dword [esi + 8]
mov edi, 0xa92d5f4e
movzx eax, byte [edx + 0x40]
mov byte [esi + 0x2c], al
jmp 0x405db0
cmp eax, 0xc3b91c1c
je 0x406d38
cmp eax, 0xc7170f62
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x2a7c9079
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xea443947
jmp 0x40679d
cmp eax, 0x6425c05a
je 0x406d5e
cmp eax, 0x652a8c27
jne 0x4050e0
cmp byte [esi + 0x3a], 0
mov eax, 0xcdb4563c
mov ecx, 0xf4cea389
cmovne eax, ecx
jmp 0x4050e0
cmp eax, 0xaf40a2e0
je 0x406d68
cmp eax, 0xb03249c1
jne 0x4050e0
mov eax, dword [0x4663d0]
mov edi, 0x638c086c
mov ebx, 0x81796fcd
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x81796fcd
jmp 0x4050b9
cmp eax, 0x10d1684c
je 0x406d72
cmp eax, 0x1572f6da
jne 0x4050e0
mov eax, 0xc19cc699
jmp 0x4050e0
cmp eax, 0xe3acaffa
je 0x406d8b
cmp eax, 0xe5c6fb27
jne 0x4050e0
mov eax, 0x442e8aac
jmp 0x4050e0
cmp eax, 0x35d52091
je 0x406d95
cmp eax, 0x37883a58
jne 0x4050e0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xc8], eax
mov eax, 0x8b16eb1e
jmp 0x4050e0
cmp eax, 0x9994b5e0
je 0x406dee
cmp eax, 0x9b23cc41
jne 0x4050e0
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, dword [esi + 0xa0]
mov ecx, 0x2920fbc0
sbb eax, dword [esi + 0xa4]
mov eax, 0x3129fdfd
cmovl eax, ecx
jmp 0x4050e0
cmp eax, 0xfd3dc928
je 0x406e06
cmp eax, 0x6d245e
jne 0x4050e0
mov eax, 0x1a3467cc
jmp 0x4050e0
cmp eax, 0xd2e7055b
je 0x406e4c
cmp eax, 0xd4931407
jne 0x4050e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xd8]
mov dword [eax], ecx
mov eax, 0xcdb4563c
jmp 0x4050e0
cmp eax, 0x7c1b1b31
je 0x406e83
cmp eax, 0x7c6ef29b
jne 0x4050e0
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0xd7bc104a
vmovsd qword [esi + 0x98], xmm0
jmp 0x4050e0
cmp eax, 0xb85a982a
je 0x406ec5
cmp eax, 0xb8f4fdad
jne 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xe3acaffa
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb20c74f9
jmp 0x406b0f
cmp eax, 0x22fb787e
je 0x406edb
cmp eax, 0x23c86f46
jne 0x4050e0
mov eax, dword [esi + 0x6c]
mov ebx, 0x58def9ef
mov ecx, dword [eax]
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, dword [0x4663c8]
lea edi, [edx + 1]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov edi, 0x3b2c0e7f
sete dl
cmp dword [0x4663c4], 0xa
setl dh
or dh, dl
mov edx, 0x594bb81
cmovne edx, edi
mov edi, 0x594bb81
cmovne edi, ebx
mov ebx, 0x63eb2e51
nop word cs:[eax + eax]
cmp ebx, 0x58def9ee
jle 0x406120
cmp ebx, 0x58def9ef
je 0x406135
cmp ebx, 0x63eb2e51
je 0x406139
cmp ebx, 0x6004b7eb
jne 0x4060f0
mov ebx, edi
jmp 0x4060f0
cmp ebx, 0x594bb81
je 0x406140
cmp ebx, 0x3b2c0e7f
jne 0x4060f0
jmp 0x406ef1
mov ebx, edx
jmp 0x4060f0
mov ebx, 0x6004b7eb
jmp 0x4060f0
mov ebx, 0x58def9ef
jmp 0x4060f0
cmp eax, 0xee676e65
je 0x406f07
cmp eax, 0xf1649a96
jne 0x4050e0
cmp byte [esi + 0x3b], 0
mov eax, 0x71507c71
mov ecx, 0x38fd7335
cmovne eax, ecx
jmp 0x4050e0
cmp eax, 0x41f8b83f
jne 0x4071cb
mov eax, dword [esi + 0x94]
mov eax, 0xd2e7055b
jmp 0x4050e0
mov eax, dword [esi + 0x98]
mov eax, dword [esi + 0x9c]
mov eax, 0xf58ac5f3
jmp 0x4050e0
mov eax, 0x49830167
jmp 0x4050e0
mov eax, 0x86362b7c
jmp 0x4050e0
mov eax, 0x10d1684c
jmp 0x4050e0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], eax
mov eax, 0x8a0210f0
jmp 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x6425c05a
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb0e4101a
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
xor ecx, ecx
cmp ecx, dword [esi + 0x98]
mov ecx, 0
sbb ecx, dword [esi + 0x9c]
setl byte [esi + 0x3f]
jmp 0x4050e0
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov edi, 0xe7ac0270
mov ebx, 0x23c86f46
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, 1
sbb eax, 0
mov eax, dword [0x4663d0]
setl byte [esi + 0x39]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x23c86f46
jmp 0x4050b1
mov eax, 0xd4931407
jmp 0x4050e0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7ea8c049
and eax, 4
and ecx, 0x81573fb6
or edx, ecx
xor edx, 0x81573fb2
or eax, edx
mov dword [esi + 0xe0], eax
mov eax, 0x989d427e
jmp 0x4050e0
mov eax, dword [0x4663d0]
mov ebx, 0xfb3c09ed
mov edi, 0xe97b8447
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe97b8447
jmp 0x4071ae
mov eax, 0xc3b91c1c
jmp 0x4050e0
mov eax, 0xca449b2e
jmp 0x4050e0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov dword [esi + 0xf8], eax
mov eax, 0x8e72d3c5
jmp 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x63219732
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x8d4824ec
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x54]
cmp ecx, 0xa
cmovge eax, edx
or edi, 4
mov dword [esi + 0xd8], edi
jmp 0x4050e0
and al, 1
mov ecx, 0xf71f7da6
mov byte [esi + 0x18], al
mov eax, 0x3886c6e2
cmp byte [esi + 0x18], 0
cmovne eax, ecx
jmp 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xb20c74f9
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xb8f4fdad
jmp 0x40679d
cmp dword [esi + 0xdc], 0
mov eax, 0xb85a982a
sete byte [esi + 0x3c]
jmp 0x4050e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x78]
mov edi, 0xf211afee
mov ebx, 0x8e7fee7b
mov dword [eax], ecx
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8e7fee7b
jmp 0x4050b9
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xdc], eax
mov eax, 0x734d03be
jmp 0x4050e0
mov ecx, dword [esi + 0xf4]
add ecx, dword [esi + 0x90]
push 0
push 0
call fcn.004107f0
mov eax, 0x95fd2817
jmp 0x4050e0
mov eax, 0x87693dfb
jmp 0x4050e0
mov eax, dword [esi + 0x88]
mov eax, 0x638c086c
jmp 0x4050e0
cmp byte [esi + 0x3e], 0
mov eax, 0x87693dfb
mov ecx, 0xaf40a2e0
cmovne eax, ecx
jmp 0x4050e0
mov eax, 0x95fd2817
jmp 0x4050e0
mov eax, 0xec6b4bd5
jmp 0x4050e0
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xa8]
mov ebx, 0x8e9a1bb
mov edi, 0xca6f0618
sub ecx, ebx
sbb eax, edi
sub ecx, dword [edx]
sbb eax, dword [edx + 4]
add ecx, ebx
mov dword [esi + 0xb0], ecx
adc eax, edi
mov dword [esi + 0xb4], eax
mov eax, 0xfd3dc928
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0x68], ecx
mov ecx, dword [esi + 0xb4]
mov dword [esi + 0x64], ecx
jmp 0x4050e0
mov eax, dword [esi + 0x1c]
mov edi, 0xe590f67
mov ebx, 0xc9f4cf7f
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0xb8], ecx
mov dword [esi + 0xbc], eax
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc9f4cf7f
jmp 0x4050b9
mov eax, dword [esi + 0x10]
mov eax, 0x35d52091
jmp 0x4050e0
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0x74]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, dword [0x4663c8]
lea edi, [edx + 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0x3b2c0e7f
setne dl
cmp dword [0x4663c4], 0xa
setge dh
mov bl, dh
or dh, dl
xor bl, dl
xor dh, 1
or dh, bl
mov edx, 0x594bb81
mov ebx, 0x58def9ef
cmovne edx, edi
mov edi, 0x594bb81
cmovne edi, ebx
mov ebx, 0x63eb2e51
nop word [eax + eax]
cmp ebx, 0x58def9ee
jle 0x406590
cmp ebx, 0x58def9ef
je 0x4065a5
cmp ebx, 0x63eb2e51
je 0x4065a9
cmp ebx, 0x6004b7eb
jne 0x406560
mov ebx, edi
jmp 0x406560
cmp ebx, 0x594bb81
je 0x4065b0
cmp ebx, 0x3b2c0e7f
jne 0x406560
jmp 0x406f11
mov ebx, edx
jmp 0x406560
mov ebx, 0x6004b7eb
jmp 0x406560
mov ebx, 0x58def9ef
jmp 0x406560
mov eax, 0x73402c63
jmp 0x4050e0
mov eax, dword [esi + 0x10]
mov edi, 0x9017c7e2
mov ebx, 0x3913c352
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov ecx, dword [0x4663c0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4663bc], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0xe61c2e20
mov edx, 0x36883a56
cmovne ecx, edx
mov edx, 0xe61c2e20
cmovne edx, edi
nop dword [eax]
cmp ebx, 0xe61c2e1f
jle 0x406650
cmp ebx, 0xe61c2e20
je 0x406664
cmp ebx, 0x36883a56
je 0x406f33
cmp ebx, 0x3913c352
jne 0x406620
mov dword [esi + 4], eax
mov ebx, 0xe0cc9c1f
jmp 0x406620
cmp ebx, 0x9017c7e2
je 0x40666e
cmp ebx, 0xe0cc9c1f
jne 0x406620
mov ebx, edx
jmp 0x406620
mov ebx, dword [esi + 4]
mov ebx, 0x9017c7e2
jmp 0x406620
mov edi, dword [esi + 4]
mov ebx, ecx
mov edi, dword [edi + 0x38]
jmp 0x406620
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x1a3467cc
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6d245e
jmp 0x406b0f
mov eax, dword [esi + 0x28]
mov edi, 0x4a41d3e2
mov ebx, 0xb82cea5c
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb82cea5c
jmp 0x4050b1
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xf58ac5f3
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb0e4101a
jmp 0x406b0f
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, 0xcf884cf1
jmp 0x4050e0
mov eax, dword [ebp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0x1cb456aa
jmp 0x4050e0
mov eax, dword [0x4663d0]
mov ebx, 0xbf04979
mov edi, 0xb82cea5c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb82cea5c
jmp 0x4071a6
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0x494bbf8a
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x35d52091
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4050e0
mov eax, dword [0x4663b8]
mov ecx, dword [0x4663b4]
mov edi, 0x873340cf
lea ebx, [eax + 1]
mov dword [esi + 0x40], ecx
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
cmp ecx, 0xa
mov ecx, 0xac49e599
setl dl
xor dl, al
mov eax, dword [esi + 0x24]
cmovne edi, ecx
cmp ebx, 0xffffffff
mov edx, edi
cmove edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
cmp ebx, 0xffffffff
sete byte [esi + 3]
cmp dword [esi + 0x40], 0xa
mov dword [esi + 0x2c], eax
mov eax, edx
cmovge eax, edi
mov edi, 0xa159a221
setl byte [esi + 0x18]
cmp edi, 0xac49e598
jg 0x406850
cmp edi, 0x873340cf
je 0x406872
cmp edi, 0xa159a221
je 0x406879
cmp edi, 0xa92d5f4e
jne 0x406820
jmp 0x406f49
cmp edi, 0xac49e599
je 0x4068a8
cmp edi, 0xbad9ed05
je 0x4068b2
cmp edi, 0x564339e1
jne 0x406820
mov ecx, dword [esi + 0x2c]
mov edi, eax
mov dword [esi + 8], ecx
jmp 0x406820
mov edi, 0x564339e1
jmp 0x406820
movzx ecx, byte [esi + 3]
movzx edx, byte [esi + 0x18]
mov edi, 0x873340cf
mov ebx, 0x564339e1
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0x873340cf
cmovne edi, ebx
test cl, cl
cmove edi, edx
test ch, ch
cmovne edi, ebx
jmp 0x406820
mov edi, 0xbad9ed05
jmp 0x406820
mov ecx, dword [esi + 8]
mov edi, 0xa92d5f4e
movzx ecx, byte [ecx + 0x40]
mov byte [esi + 0x40], cl
jmp 0x406820
mov eax, dword [esi + 0x54]
mov eax, dword [esi + 0x54]
mov eax, 0xfce32172
jmp 0x4050e0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xfc], eax
mov eax, 0x3c27bf0f
jmp 0x4050e0
mov eax, dword [esi + 0x10]
mov edi, 0x9017c7e2
mov ebx, 0x3913c352
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov ecx, dword [0x4663c0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne cl
cmp dword [0x4663bc], 0xa
setge dl
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov ecx, 0xe61c2e20
mov edx, 0x36883a56
cmovne ecx, edx
mov edx, 0xe61c2e20
cmovne edx, edi
cmp ebx, 0xe61c2e1f
jle 0x406970
cmp ebx, 0xe61c2e20
je 0x406984
cmp ebx, 0x36883a56
je 0x406f94
cmp ebx, 0x3913c352
jne 0x406940
mov dword [esi + 4], eax
mov ebx, 0xe0cc9c1f
jmp 0x406940
cmp ebx, 0x9017c7e2
je 0x40698e
cmp ebx, 0xe0cc9c1f
jne 0x406940
mov ebx, edx
jmp 0x406940
mov ebx, dword [esi + 4]
mov ebx, 0x9017c7e2
jmp 0x406940
mov edi, dword [esi + 4]
mov ebx, ecx
mov edi, dword [edi + 0x38]
jmp 0x406940
mov ecx, dword [esi + 0x80]
push dword [esi + 0x5c]
push dword [esi + 0x58]
push dword [esi + 0x84]
call fcn.00410670
mov ecx, dword [esi + 0x28]
mov edi, 0x22fb787e
mov ebx, 0xe97b8447
xor edx, dword [ecx + 4]
xor eax, dword [ecx]
or eax, edx
mov eax, dword [0x4663d0]
setne byte [esi + 0x3d]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe97b8447
jmp 0x4050b9
cmp byte [esi + 0x3f], 0
mov eax, 0x442e8aac
mov ecx, 0xfa4efd16
cmovne eax, ecx
jmp 0x4050e0
mov eax, dword [esi + 0x1c]
mov eax, 0xbbf47171
jmp 0x4050e0
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x7c]
lea eax, [ecx + eax + 0x14]
mov ecx, dword [0x4663b0]
mov dword [esi + 4], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4663ac], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x56c65718
not dl
or dl, ch
mov ecx, 0xe3839041
test dl, 1
mov edx, 0x90b7987a
cmovne eax, ecx
mov ecx, 0x56c65718
cmovne ecx, edx
mov edx, 0xdb306a50
nop word cs:[eax + eax]
cmp edx, 0xdb306a4f
jle 0x406aa0
cmp edx, 0xdb306a50
je 0x406ab5
cmp edx, 0xe3839041
je 0x406ab9
cmp edx, 0x56c65718
jne 0x406a70
mov edx, dword [esi + 4]
mov edx, 0x90b7987a
jmp 0x406a70
cmp edx, 0x90b7987a
je 0x406ac0
cmp edx, 0xa5860723
jne 0x406a70
jmp 0x406fc6
mov edx, ecx
jmp 0x406a70
mov edx, 0xa5860723
jmp 0x406a70
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x406a70
mov eax, 0xc195fe07
jmp 0x4050e0
mov eax, 0xb8f4fdad
jmp 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov edi, 0xcf884cf1
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xdb499c57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4050e0
mov dword [esi + 8], eax
push dword [esi + 8]
call fcn.0043f780
add esp, 4
mov ecx, dword [esi + 0x28]
mov ebx, 0xe19af7ee
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xdfb3d790
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx]
add ecx, 4
mov dword [esi + 0x6c], ecx
jmp 0x4050e0
mov eax, dword [esi + 0x30]
mov edi, 0x9017c7e2
mov ebx, 0x3913c352
add eax, dword [esi + 0x50]
mov ecx, dword [0x4663c0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4663bc], 0xa
setl dl
or dl, cl
mov ecx, 0xe61c2e20
mov edx, 0x36883a56
cmovne ecx, edx
mov edx, 0xe61c2e20
cmovne edx, edi
cmp ebx, 0xe61c2e1f
jle 0x406c10
cmp ebx, 0xe61c2e20
je 0x406c24
cmp ebx, 0x36883a56
je 0x406fd9
cmp ebx, 0x3913c352
jne 0x406be0
mov dword [esi + 4], eax
mov ebx, 0xe0cc9c1f
jmp 0x406be0
cmp ebx, 0x9017c7e2
je 0x406c2e
cmp ebx, 0xe0cc9c1f
jne 0x406be0
mov ebx, edx
jmp 0x406be0
mov ebx, dword [esi + 4]
mov ebx, 0x9017c7e2
jmp 0x406be0
mov edi, dword [esi + 4]
mov ebx, ecx
mov edi, dword [edi + 0x38]
jmp 0x406be0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, 0xb164b53c
jmp 0x4050e0
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0xc8]
mov edi, dword [0x4663c8]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
lea edx, [edi + 1]
imul edx, edi
mov edi, 0x594bb81
test dl, 1
sete bl
cmp dword [0x4663c4], 0xa
mov dword [esi + 0x24], eax
setge bh
setl al
or bh, dl
xor al, bl
mov edx, 0x594bb81
not bh
or bh, al
mov eax, 0x3b2c0e7f
test bh, 1
mov ebx, 0x58def9ef
cmovne edi, ebx
cmovne edx, eax
mov ebx, 0x63eb2e51
nop word [eax + eax]
cmp ebx, 0x58def9ee
jle 0x406ce0
cmp ebx, 0x58def9ef
je 0x406cf5
cmp ebx, 0x63eb2e51
je 0x406cf9
cmp ebx, 0x6004b7eb
jne 0x406cb0
mov ebx, edi
jmp 0x406cb0
cmp ebx, 0x594bb81
je 0x406d00
cmp ebx, 0x3b2c0e7f
jne 0x406cb0
jmp 0x4070e6
mov ebx, edx
jmp 0x406cb0
mov ebx, 0x6004b7eb
jmp 0x406cb0
mov ebx, 0x58def9ef
jmp 0x406cb0
mov eax, 0xec6b4bd5
jmp 0x4050e0
movzx eax, byte [esi + 0x2c]
mov byte [esi + 4], al
movsx eax, byte [esi + 4]
mov ecx, dword [esi + 0xe4]
push eax
call fcn.0040ffd0
mov dword [esi + 0xec], eax
mov eax, 0xfd1a624d
jmp 0x4050e0
mov eax, dword [0x4663d0]
mov ebx, 0xc33f53c5
mov edi, 0x23c86f46
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x23c86f46
jmp 0x4071ae
mov eax, 0xc7cada1c
jmp 0x4050e0
mov eax, 0x7c6ef29b
jmp 0x4050e0
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0x7c1b1b31
vmovsd qword [esi + 0x108], xmm0
jmp 0x4050e0
mov eax, 0x1f692e69
jmp 0x4050e0
mov edx, dword [0x4663d0]
mov ecx, dword [0x4663cc]
mov ebx, 0x19c513a6
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x494bbf8a
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x10]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xcc], ecx
jmp 0x4050e0
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x14]
or eax, 4
mov dword [ecx], eax
mov eax, 0xe5c6fb27
jmp 0x4050e0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov ecx, dword [esi + 0x64]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x44]
push dword [eax]
call fcn.0040f710
mov eax, dword [esi + 0x44]
mov ecx, 0xc5894470
movzx eax, byte [eax + 4]
cmp ecx, 0xc5894470
je 0x406e45
cmp ecx, 0x379db8b1
jne 0x406e30
jmp 0x40710b
mov ecx, 0x379db8b1
jmp 0x406e30
mov eax, dword [esi + 0x94]
mov ebx, 0x3b93a135
mov edi, 0x41f8b83f
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xf4], eax
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x41f8b83f
jmp 0x4071ae
mov eax, dword [esi + 0x108]
mov ebx, dword [esi + 0x10c]
mov edi, 0x61f21783
mov ecx, 0x61f21783
mov edx, 0xf8765850
not edi
add eax, ecx
adc ebx, edx
add edi, eax
mov eax, 0xf8765850
not eax
mov dword [esi + 0xc0], edi
adc eax, ebx
mov dword [esi + 0xc4], eax
mov eax, 0x10231667
jmp 0x4050e0
cmp byte [esi + 0x3c], 0
mov eax, 0xca449b2e
mov ecx, 0xa069f1cc
cmovne eax, ecx
jmp 0x4050e0
cmp byte [esi + 0x3d], 0
mov eax, 0xca449b2e
mov ecx, 0xa4e79d74
cmovne eax, ecx
jmp 0x4050e0
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, 0xc33f53c5
jmp 0x4050e0
mov eax, 0x1b692570
jmp 0x4050e0
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0xac], eax
mov dword [esi + 0xa8], ecx
mov eax, 0xbb4478db
jmp 0x4050e0
mov dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esi + 0x80], eax
mov eax, 0x24c048b1
jmp 0x4050e0
movzx eax, byte [esi + 0x40]
mov byte [esi + 4], al
movsx eax, byte [esi + 4]
mov ecx, dword [esi + 0x24]
push eax
call fcn.0040ffd0
mov ecx, 0x7557d71
mov dword [esi + 8], eax
mov dword [esi + 4], 0xffffffff
nop dword [eax]
cmp ecx, 0xa40d2a95
je 0x40712a
cmp ecx, 0x7557d71
jne 0x406f70
mov eax, dword [esi + 4]
mov ecx, 0xa40d2a95
cmp eax, dword [esi + 8]
sete al
jmp 0x406f70
mov dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
add eax, 4
mov dword [esi + 0xe8], eax
mov eax, 0xfa135bb3
jmp 0x4050e0
mov eax, dword [esi + 8]
mov dword [esi + 0xd4], eax
mov eax, 0xa4ba89e6
jmp 0x4050e0
mov dword [esi + 8], edi
mov ecx, 0xac49e599
mov eax, dword [esi + 8]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov edx, dword [eax]
add eax, dword [edx + 4]
mov edx, dword [0x4663b8]
lea edi, [edx + 1]
mov dword [esi + 0x2c], eax
mov eax, 0x873340cf
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov edx, dword [0x4663b4]
mov edi, 0x873340cf
sete byte [esi + 3]
cmove edi, ecx
sete bl
cmp edx, 0xa
setl dl
cmovge edi, eax
setl byte [esi + 0x18]
xor dl, bl
mov edx, 0xa159a221
cmovne edi, ecx
nop dword [eax + eax]
cmp edx, 0xac49e598
jg 0x407070
cmp edx, 0x873340cf
je 0x407092
cmp edx, 0xa159a221
je 0x407099
cmp edx, 0xa92d5f4e
jne 0x407040
jmp 0x40713d
cmp edx, 0xac49e599
je 0x4070c8
cmp edx, 0xbad9ed05
je 0x4070d2
cmp edx, 0x564339e1
jne 0x407040
mov eax, dword [esi + 0x2c]
mov edx, edi
mov dword [esi + 8], eax
jmp 0x407040
mov edx, 0x564339e1
jmp 0x407040
movzx ebx, byte [esi + 3]
movzx edx, byte [esi + 0x18]
mov ecx, 0x564339e1
mov eax, 0x873340cf
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x873340cf
cmovne edx, ecx
test bl, bl
cmove edx, eax
test bh, bh
cmovne edx, ecx
jmp 0x407040
mov edx, 0xbad9ed05
jmp 0x407040
mov ecx, dword [esi + 8]
mov edx, 0xa92d5f4e
movzx eax, byte [ecx + 0x40]
mov byte [esi + 0x40], al
jmp 0x407040
mov eax, dword [esi + 0x24]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ecx
mov eax, 0x9b23cc41
jmp 0x4050e0
mov byte [esi + 8], al
mov ecx, 0xfbd1f901
movzx eax, byte [esi + 8]
not al
or al, 0xfe
cmp al, 0xff
mov eax, 0x799997d5
cmove eax, ecx
jmp 0x4050e0
and al, 1
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x18]
mov eax, 0xea443947
jmp 0x4050e0
movzx eax, byte [esi + 0x40]
mov byte [esi + 4], al
movsx eax, byte [esi + 4]
mov ecx, dword [esi + 0x24]
push eax
call fcn.0040ffd0
mov ecx, 0x7557d71
mov dword [esi + 8], eax
mov dword [esi + 4], 0xffffffff
cmp ecx, 0xa40d2a95
je 0x407180
cmp ecx, 0x7557d71
jne 0x407160
mov eax, dword [esi + 4]
mov ecx, 0xa40d2a95
cmp eax, dword [esi + 8]
sete al
jmp 0x407160
and al, 1
mov ebx, 0x1ff01ae0
mov edi, 0x2a7c9079
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x18]
mov byte [esi + 0x3b], al
mov eax, dword [0x4663d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x2a7c9079
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4663cc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4050e0
cmp eax, 0x3c27bf0f
jne 0x4050e0
mov ecx, dword [esi + 0xf8]
mov eax, dword [esi + 0xfc]
mov edx, 0xb9c70b38
nop word [eax + eax]
cmp edx, 0xb9c70b38
je 0x407202
cmp edx, 0x2e5230a3
jne 0x4071f0
jmp 0x407209
mov edx, 0x2e5230a3
jmp 0x4071f0
mov dword [esi + 0x18], ecx
mov byte [esi + 3], 0
mov edi, 0xd62cc987
movzx edx, byte [esi + 3]
mov ecx, dword [esi + 0x18]
mov dword [esi + 4], ecx
nop
cmp edi, 0x67ceba3
je 0x40723d
cmp edi, 0xd62cc987
jne 0x407220
mov ecx, dword [esi + 4]
mov edi, 0x67ceba3
mov ecx, dword [ecx + 0xc]
jmp 0x407220
mov dword [esi + 8], ecx
and dl, 1
mov ecx, dword [esi + 8]
mov edi, ecx
not edi
and ecx, 0x4720692
mov ebx, edi
and ebx, 0xfb8df96d
or ecx, ebx
mov ebx, eax
not ebx
and eax, 0x4720692
or edi, ebx
and ebx, 0xfb8df96d
or eax, ebx
not edi
xor eax, ecx
mov ecx, dword [esi + 0x18]
or edi, eax
movzx eax, dl
push eax
push edi
call fcn.00411e40
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
mov ecx, dword [esi + 0x44]
call fcn.00410880
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x110]
xor ecx, ebp
call fcn.00438f60
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret