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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe8
mov eax, dword [0x44f834]
mov esi, esp
xor eax, ebp
mov dword [esi + 0xe0], eax
mov eax, dword [0x450598]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
or ecx, 0x666b5a57
mov edx, ecx
not eax
and ecx, 0x8e1e363
not edx
mov edi, eax
and edx, 0x91140488
or edi, 0x9994a5a8
or edx, ecx
mov ecx, edi
and edi, 0x8e1e363
not ecx
and ecx, 0x660a1814
or ecx, edi
mov edi, dword [ebp + 0x24]
xor ecx, edx
mov edx, ecx
and ecx, 0xa7b1b919
not edx
and edx, 0x584e46e6
or ecx, edx
mov edx, ecx
xor ecx, 0x40c8c042
xor edx, 0x8050820
and ecx, 0x76e8d4d2
and edx, 0x89172b2d
or edx, ecx
xor edx, 0x89172b2d
mov ecx, edx
xor edx, eax
and ecx, eax
mov eax, dword [0x45059c]
or edx, ecx
mov ecx, dword [ebp + 0x20]
cmp edx, 0xffffffff
sete byte [esi + 0x2e]
cmp eax, 0xa
lea eax, [ecx + edi]
setl byte [esi + 0x2f]
mov dword [esi + 0x28], eax
mov eax, 0xf1a39ac7
mov dword [esi + 0xc], ecx
nop word cs:[eax + eax]
nop
cmp eax, 0x411bea5
jle 0x4146a0
cmp eax, 0x4d030e83
jg 0x413c10
cmp eax, 0x26feacbc
jle 0x413c5c
cmp eax, 0x366a70f6
jle 0x413cdb
cmp eax, 0x366a70f7
je 0x413fa1
cmp eax, 0x48006938
je 0x4140c8
cmp eax, 0x48b4aa05
jne 0x413af0
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x18]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov ecx, dword [ecx + 0x30]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x30]
call fcn.00415bc0
add esp, 4
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 4]
mov dword [esi + 0xdc], eax
mov eax, 0xc997da68
nop dword [eax + eax]
cmp eax, 0x1704c8c8
jg 0x413bd0
cmp eax, 0xc997da68
je 0x413bb4
cmp eax, 0xf2fe5e01
jne 0x413b80
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0xd0], eax
mov eax, 0x1704c8c9
cmp dword [esi + 0xd0], 0
jmp 0x413bc0
cmp dword [esi + 0xdc], 0
mov eax, 0xf2fe5e01
mov ecx, 0x7bad5e5f
cmove eax, ecx
cmp eax, 0x1704c8c8
jle 0x413b87
nop
cmp eax, 0x1704c8c9
je 0x413be3
cmp eax, 0x7bad5e5f
jne 0x413b80
jmp 0x4140ec
mov eax, dword [esi + 0xd0]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd0]
push 1
call eax
mov eax, 0x7bad5e5f
cmp eax, 0x1704c8c8
jg 0x413bd0
jmp 0x413b87
cmp eax, 0x693b85d0
jle 0x413ca4
cmp eax, 0x6e165196
jle 0x413e7b
cmp eax, 0x6e165197
je 0x41423f
cmp eax, 0x7310b584
je 0x41437c
cmp eax, 0x7a5273b8
jne 0x413af0
mov eax, 0xbcde0963
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x158d6213
jg 0x413eba
cmp eax, 0x411bea6
je 0x414419
cmp eax, 0xc8a01ee
jne 0x413af0
mov eax, dword [esi + 0x7c]
mov ecx, 0x48b4aa05
add eax, 2
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
cmp eax, dword [ebp + 0x24]
mov eax, 0x693b85d1
cmova eax, ecx
jmp 0x41465f
cmp eax, 0x63adb4b4
jg 0x413f64
cmp eax, 0x4d030e84
je 0x414538
cmp eax, 0x5378fd4f
jne 0x413af0
cmp dword [esi + 0x98], 0
mov eax, 0xbcde0963
mov ecx, 0x676c0cf7
jmp 0x4146ef
cmp eax, 0x26feacbd
je 0x414550
cmp eax, 0x3296fd76
jne 0x413af0
mov eax, dword [esi + 0x14]
mov dword [esi + 0xc4], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
mov ecx, eax
mov edx, eax
and eax, 0xb3adaff8
not ecx
and edx, 0x8500004
and ecx, 0x44025003
or edx, ecx
xor edx, 0x8500004
or eax, edx
mov ecx, eax
and eax, 0x4c525007
not ecx
and ecx, 0xb3adaff8
or eax, ecx
mov ecx, eax
mov edx, eax
not ecx
xor edx, 0x2fade51e
mov edi, ecx
and edx, eax
and ecx, 0x1c0
xor eax, 0xfffffe3f
and edi, 0x2fade51e
or eax, ecx
mov ebx, edi
and ebx, edx
xor edx, edi
or edx, ebx
mov ebx, eax
mov edi, edx
and edx, 0x2fade4de
not ebx
not edi
and ebx, 0xb14aabe5
and edi, 0xd0521b21
or edx, edi
mov ecx, edx
and edx, 0xb14aabe5
not ecx
mov edi, ecx
or ecx, eax
and eax, 0x4eb5541a
and edi, 0x4eb5541a
or ebx, eax
not ecx
or edx, edi
xor ebx, edx
or ecx, ebx
mov eax, ecx
and ecx, 0x44564911
not eax
mov edx, eax
or eax, 0x46abaa21
and edx, 0xbba9b6ee
or ecx, edx
mov edx, ecx
xor ecx, 0xa82020
xor edx, 0x44000800
or ecx, 0x1804005a
and ecx, 0x18ae207b
and edx, 0x46018a00
or edx, ecx
mov ecx, eax
and eax, 0x18ae207b
not ecx
and ecx, 0xa1505584
or ecx, eax
xor ecx, edx
mov eax, ecx
and ecx, 0x46abaa21
not eax
and eax, 0xb95455de
or ecx, eax
mov eax, ecx
and ecx, 0xbef757a8
not eax
and eax, 0x4108a857
or eax, ecx
xor eax, 0x4108a857
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xb0]
mov edx, dword [esi + 0xb0]
cmp eax, 0x40
sete cl
xor eax, 0x40
cmp edx, 0x100
sete ch
xor edx, 0x100
or edx, eax
setne al
or ch, cl
mov dl, ch
or ch, al
xor dl, al
xor ch, 1
or ch, dl
mov edx, 0x158d6214
xor ch, 1
mov al, ch
xor ch, cl
and al, cl
or ch, al
mov eax, 0x7310b584
test ch, 1
cmovne eax, edx
cmovne eax, edx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x693b85d1
je 0x414648
cmp eax, 0x6c23d65a
jne 0x413af0
mov eax, dword [esi + 0xac]
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x20]
mov eax, 0xf288019f
mov ecx, 0x48006938
cmovb eax, ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x158d6214
je 0x414664
cmp eax, 0x2424026f
jne 0x413af0
movzx eax, byte [esi + 0xc]
and eax, 1
mov dword [esi + 0x7c], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
mov edx, eax
mov edi, eax
not edx
and edi, 0xec3fa0a2
mov ecx, edx
and edx, 0x1ce68ef4
and ecx, 0x13c0515d
or edi, ecx
mov ecx, eax
xor ecx, 0xfffff1ff
xor edi, 0xec3fa0a2
and ecx, eax
mov ebx, edi
and eax, 0xe319710b
and ebx, ecx
xor ecx, edi
or eax, edx
or ecx, ebx
mov ebx, eax
xor eax, 0x18c40050
mov edx, ecx
xor ebx, 0xa2193103
and ecx, 0xa63bbfa7
and eax, 0x59c44058
not edx
and ebx, 0xa63bbfa7
mov edi, edx
or ebx, eax
mov eax, 0x48b4aa05
and edi, 0x59c44058
or ecx, edi
xor ebx, ecx
mov ecx, 0xc8a01ee
xor edx, ebx
and edx, ebx
cmp edx, 0x800
jmp 0x41465c
cmp eax, 0x63adb4b5
je 0x41467e
cmp eax, 0x676c0cf7
jne 0x413af0
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esi + 0x9f], al
mov edx, dword [ebp + 0x24]
mov eax, 0xe5464d5f
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x20], edx
jmp 0x414772
mov eax, dword [esi + 0x60]
mov edx, 0xc5bf5291
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x34]
mov dword [esi + 0xdc], ecx
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xd0], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xb86a72eb
je 0x41401e
cmp edx, 0x16192ea3
je 0x414009
cmp edx, 0xc5bf5291
jne 0x413fd0
cmp dword [ecx + 0x14], 0xf
mov edx, 0xb86a72eb
mov eax, 0x16192ea3
cmova edx, eax
mov eax, dword [esi + 0xd0]
cmp edx, 0xb86a72eb
jne 0x413fd8
jmp 0x41401e
mov eax, dword [esi + 0xdc]
mov edx, 0xb86a72eb
mov eax, dword [eax]
cmp edx, 0xb86a72eb
jne 0x413fd8
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x64]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov ebx, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
mov ecx, dword [esi + 0xb4]
movsd xmm0, qword [edx]
movsd qword [esi + 0xd0], xmm0
mov edx, 0xd07bd87a
nop dword [eax]
cmp edx, 0x6491693a
je 0x4149a6
cmp edx, 0x54ccfb71
je 0x4140a0
cmp edx, 0xd07bd87a
jne 0x414050
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], eax
mov edx, 0x54ccfb71
mov edi, 0x6491693a
cmp dword [esi + 0xd8], 0
cmove edx, edi
cmp edx, 0x6491693a
jne 0x41405c
jmp 0x4149a6
mov eax, dword [esi + 0xdc]
lea ecx, [esi + 0xd0]
movsx eax, byte [eax]
push eax
call fcn.00418c10
mov ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0xdc]
dec ecx
inc eax
jmp 0x414044
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
sub eax, dword [esi + 0xac]
mov dword [esi + 0x14], eax
mov eax, 0x3296fd76
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
mov eax, dword [esi + 0x34]
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov dword [esi + 0x24], eax
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
mov eax, dword [eax + 0x14]
mov dword [esi + 0xd8], eax
mov eax, 0xbc3e746a
nop
cmp eax, 0x2dd8d7b6
jg 0x414190
cmp eax, 0xbc3e746a
je 0x41416d
cmp eax, 0xd71da287
jne 0x414130
sub esp, 0xc
mov al, byte [esi + 0xc8]
mov byte [esp + 4], al
mov eax, dword [ebp + 0x24]
mov dword [esp + 8], 0
mov ecx, dword [esi + 0x24]
mov dword [esp], eax
call fcn.00416d80
jmp 0x41422a
mov eax, dword [esi + 0xd8]
mov ecx, 0xd71da287
cmp eax, dword [ebp + 0x24]
mov eax, 0x2dd8d7b7
cmovb eax, ecx
cmp eax, 0x2dd8d7b6
jle 0x414137
nop word [eax + eax]
cmp eax, 0x2dd8d7b7
je 0x4141a3
cmp eax, 0x5ec31f0c
jne 0x414130
jmp 0x4149de
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xd0], ecx
mov ecx, 0xc5bf5291
cmp ecx, 0xb86a72eb
je 0x41420e
cmp ecx, 0x16192ea3
je 0x4141f9
cmp ecx, 0xc5bf5291
jne 0x4141c0
cmp dword [eax + 0x14], 0xf
mov edi, dword [esi + 0xd0]
mov ecx, 0xb86a72eb
mov edx, 0x16192ea3
cmova ecx, edx
cmp ecx, 0xb86a72eb
jne 0x4141c8
jmp 0x41420e
mov ecx, dword [esi + 0xdc]
mov edi, dword [ecx]
mov ecx, 0xb86a72eb
cmp ecx, 0xb86a72eb
jne 0x4141c8
mov eax, dword [esi + 0xcc]
mov ebx, dword [ebp + 0x24]
mov dword [eax + 0x10], ebx
push ebx
push 0
push edi
call fcn.00424b00
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, 0x5ec31f0c
cmp eax, 0x2dd8d7b6
jg 0x414190
jmp 0x414137
mov ecx, dword [0x450598]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
and eax, 0x8b08bc57
not ecx
and edi, 0xb4892b2d
mov edx, ecx
and edx, 0x4b76d4d2
or edi, edx
mov ebx, edi
xor edi, 0x48002
xor ebx, 0x20880008
or edi, 0x11105034
and edi, 0x9515f036
and ebx, 0x20ca0048
or ebx, edi
mov edi, ecx
and ecx, 0x74f743a8
or edi, 0xa4cfa04a
or eax, ecx
mov edx, edi
and edi, 0x9515f036
mov ecx, eax
xor eax, 0x74f743a8
not edx
xor ecx, 0x8b08bc57
and edx, 0x4a200f81
or edx, edi
xor edx, ebx
mov edi, edx
and edx, 0x8835c3cc
not edi
and edi, 0x77ca3c33
or edx, edi
mov edi, edx
xor edx, 0xd3059c78
xor edi, 0x2cfa6387
and ecx, edx
and eax, edi
or eax, ecx
mov ecx, dword [0x45059c]
xor edx, eax
test edx, eax
sete al
setne dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and cl, dl
mov dl, ah
and dl, al
xor al, ah
or dl, cl
and al, ah
mov ecx, edx
xor al, 1
xor cl, 1
mov ah, al
or al, cl
xor ah, cl
xor al, 1
or al, ah
mov ah, al
xor ah, 1
and al, ah
mov ch, ah
and ch, al
xor al, ah
or al, ch
mov ch, dl
and ch, cl
mov ah, ch
xor ch, dl
and ah, dl
or ch, ah
mov dl, ch
xor dl, 1
and dl, al
xor al, 1
and ch, al
or ch, dl
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov edx, 0x1aa8d50
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x8c79b1d3
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x8c79b1d3
cmove eax, edx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
lea ecx, [ebp + 0x10]
mov edi, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov ebx, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0xc4]
movsd xmm0, qword [ecx]
movsd qword [esi + 0xd0], xmm0
mov ecx, 0xbc8fd6f2
nop word [eax + eax]
cmp ecx, 0x712248d7
je 0x414b25
cmp ecx, 0xdf99f39a
je 0x414400
cmp ecx, 0xbc8fd6f2
jne 0x4143b0
mov dword [esi + 0xdc], eax
mov ecx, 0xdf99f39a
mov edx, 0x712248d7
cmp dword [esi + 0xdc], 0
cmove ecx, edx
cmp ecx, 0x712248d7
jne 0x4143bc
jmp 0x414b25
movsx eax, byte [ebp + 0x1c]
lea ecx, [esi + 0xd0]
push eax
call fcn.00418c10
mov eax, dword [esi + 0xdc]
dec eax
jmp 0x4143a5
mov eax, dword [esi + 0x50]
mov edx, 0xc5bf5291
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x34]
mov dword [esi + 0xdc], ecx
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xd0], eax
nop dword [eax]
cmp edx, 0xb86a72eb
je 0x41448e
cmp edx, 0x16192ea3
je 0x414479
cmp edx, 0xc5bf5291
jne 0x414440
cmp dword [ecx + 0x14], 0xf
mov edx, 0xb86a72eb
mov eax, 0x16192ea3
cmova edx, eax
mov eax, dword [esi + 0xd0]
cmp edx, 0xb86a72eb
jne 0x414448
jmp 0x41448e
mov eax, dword [esi + 0xdc]
mov edx, 0xb86a72eb
mov eax, dword [eax]
cmp edx, 0xb86a72eb
jne 0x414448
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x54]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov ebx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0xb4]
movsd xmm0, qword [edx]
movsd qword [esi + 0xd0], xmm0
mov edx, 0xd07bd87a
nop dword [eax]
cmp edx, 0x6491693a
je 0x414c58
cmp edx, 0x54ccfb71
je 0x414510
cmp edx, 0xd07bd87a
jne 0x4144c0
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], eax
mov edx, 0x54ccfb71
mov edi, 0x6491693a
cmp dword [esi + 0xd8], 0
cmove edx, edi
cmp edx, 0x6491693a
jne 0x4144cc
jmp 0x414c58
mov eax, dword [esi + 0xdc]
lea ecx, [esi + 0xd0]
movsx eax, byte [eax]
push eax
call fcn.00418c10
mov ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0xdc]
dec ecx
inc eax
jmp 0x4144b4
mov eax, dword [esi + 0x84]
mov ecx, 0x63adb4b5
cmp eax, 0x58
mov eax, 0x48b4aa05
jmp 0x41465c
mov eax, dword [0x450598]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
or edx, 0x13857451
mov ebx, eax
mov edi, edx
mov dword [esi + 0x18], eax
and edi, 0xd679b029
and ebx, 0x28020b86
or ebx, edi
mov edi, ecx
xor edi, 0xec7a8bae
and edi, ecx
mov eax, edi
and edi, 0x29864fd6
not eax
or edx, eax
and eax, 0xd679b029
or edi, eax
not edx
xor edi, ebx
or edx, edi
mov edi, 0x1aa8d50
mov eax, edx
and edx, 0xd0080ffc
not eax
and eax, 0x2ff7f003
or edx, eax
mov eax, edx
xor edx, 0xc38d7bac
xor eax, 0x3c728453
and eax, ecx
mov ecx, dword [esi + 0x18]
and ecx, edx
or eax, ecx
xor edx, eax
test edx, eax
mov eax, dword [0x45059c]
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
and ch, cl
mov ah, al
xor ah, dl
and dl, al
xor ah, 1
or ch, dl
or ah, al
mov cl, ch
mov dl, ch
mov al, ah
xor cl, 1
and dl, ah
xor al, 1
or ch, al
mov dh, al
and dh, cl
xor cl, ah
xor ch, 1
mov eax, 0x6e165197
or ch, cl
or dh, dl
mov cl, ch
xor cl, dh
test ch, 1
cmovne eax, edi
test dh, dh
not cl
mov edx, 0x6e165197
cmove eax, edi
mov edi, dword [esi + 0x1c]
test cl, 1
cmovne eax, edx
mov dword [esi + 0xc0], edi
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + eax], 0x30
mov eax, 0x48b4aa05
mov ecx, 0xc9c08e16
cmove eax, ecx
mov ecx, dword [esi + 0x7c]
jmp 0x414689
mov eax, dword [esi + 0xb0]
mov ecx, 0x411bea6
cmp eax, 0x100
mov eax, 0x366a70f7
jmp 0x415102
mov ecx, dword [esi + 0x80]
mov eax, 0x48b4aa05
mov dword [esi + 4], ecx
cmp eax, 0x411bea5
jg 0x413afb
nop word [eax + eax]
cmp eax, 0xef78cda4
jg 0x414700
cmp eax, 0xbcde0962
jle 0x41473d
cmp eax, 0xdf0517fb
jle 0x41480e
cmp eax, 0xdf0517fc
je 0x414d09
cmp eax, 0xe5464d5f
je 0x414eff
cmp eax, 0xece6b06b
jne 0x413af0
cmp dword [esi + 0xa0], 0
mov eax, 0x7a5273b8
mov ecx, 0x877112d8
cmovg eax, ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0xf288019e
jg 0x414785
cmp eax, 0xf155be3f
jg 0x41484d
cmp eax, 0xef78cda5
je 0x415143
cmp eax, 0xef93f510
jne 0x413af0
mov eax, 0xdf0517fc
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x9efbc056
jg 0x414947
cmp eax, 0x877112d8
je 0x414f38
cmp eax, 0x8c79b1d3
jne 0x413af0
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x20], eax
mov eax, 0xe5464d5f
mov ecx, dword [esi + 0xc0]
mov dword [esi + 0x10], ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x13e5583
jg 0x41497b
cmp eax, 0xf288019f
je 0x414f6b
cmp eax, 0xfcd316c7
jne 0x413af0
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xb8]
sub ecx, eax
mov dword [esi + 0xa4], ecx
mov ecx, dword [esi + 0x34]
movsx eax, byte [esi + 0x9f]
push eax
push 1
push dword [esi + 0xa4]
call fcn.004164b0
mov eax, dword [esi + 0xbc]
mov ecx, 0xb234ab4f
inc eax
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xa8]
cmp byte [eax], 0
mov edx, dword [esi + 0xbc]
mov eax, 0x26feacbd
cmovg eax, ecx
mov dword [esi + 0x1c], edx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0xbcde0963
je 0x414f87
cmp eax, 0xc9c08e16
jne 0x413af0
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp + 0x20]
movsx eax, byte [ecx + eax + 1]
mov ecx, 0x63adb4b5
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
cmp eax, 0x78
mov eax, 0x4d030e84
jmp 0x415102
cmp eax, 0xf155be40
je 0x415120
cmp eax, 0xf1a39ac7
jne 0x413af0
movzx edx, byte [esi + 0x2e]
movzx ecx, byte [esi + 0x2f]
mov edi, 0xdf0517fc
mov ch, dl
xor ch, 1
and dl, ch
mov al, ch
and al, dl
xor dl, ch
or dl, al
mov eax, ecx
mov ah, dl
xor al, 1
xor ah, 1
mov bl, ah
or bl, dl
mov dh, bl
mov bh, bl
xor dh, 1
and dh, bl
and bh, dh
xor dh, bl
or dh, bh
mov bh, dh
and dh, ah
xor bh, 1
and bh, dl
or dh, bh
mov bh, bl
xor bl, ch
and bh, ch
mov ch, al
or bl, bh
or ch, cl
mov bh, bl
xor bh, dh
xor dh, 1
or dh, bl
mov bl, ch
xor bh, 1
and ch, cl
and cl, al
xor dh, 1
xor bl, 1
or dh, bh
mov bh, bl
xor bh, al
and bh, bl
and bl, al
or bl, ch
mov ch, bh
and ch, bl
xor bl, bh
or bl, ch
mov ch, bl
xor ch, dh
and bl, ch
and ch, dh
mov dh, bl
xor bl, ch
xor ch, 1
xor dh, 1
or ch, dh
mov dh, cl
xor cl, al
and dh, al
xor ch, 1
or cl, dh
or ch, bl
and ah, cl
xor cl, 1
and cl, dl
or cl, ah
mov ah, dl
xor ah, al
or al, dl
mov edx, ecx
xor al, 1
or al, ah
xor al, 1
and dl, al
xor al, cl
or al, dl
mov cl, al
xor cl, 1
and al, cl
mov edx, ecx
and dl, al
xor al, cl
mov cl, ch
or al, dl
xor cl, 1
mov dl, ch
and cl, al
xor al, 1
xor dl, al
and al, ch
or al, cl
and dl, ch
mov ecx, eax
xor cl, dl
jmp 0x414ed4
cmp eax, 0x9efbc057
je 0x414fbf
cmp eax, 0xb234ab4f
jne 0x413af0
mov ecx, dword [esi + 0xa8]
mov eax, 0x26feacbd
mov dword [esi + 0x1c], ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp eax, 0x13e5584
je 0x414fe7
cmp eax, 0x1aa8d50
jne 0x413af0
mov eax, 0x6e165197
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
movsd xmm0, qword [esi + 0xd0]
mov eax, dword [esi + 8]
movsd qword [ebx], xmm0
movsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
movsd qword [eax], xmm0
mov eax, 0xef78cda5
mov ecx, dword [esi + 0xc4]
mov dword [esi + 8], ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x34]
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xd0], ecx
mov ecx, 0xc5bf5291
nop dword [eax + eax]
cmp ecx, 0xb86a72eb
je 0x414a4e
cmp ecx, 0x16192ea3
je 0x414a39
cmp ecx, 0xc5bf5291
jne 0x414a00
cmp dword [eax + 0x14], 0xf
mov ecx, 0xb86a72eb
mov edx, 0x16192ea3
cmova ecx, edx
mov edx, dword [esi + 0xd0]
cmp ecx, 0xb86a72eb
jne 0x414a08
jmp 0x414a4e
mov ecx, dword [esi + 0xdc]
mov edx, dword [ecx]
mov ecx, 0xb86a72eb
cmp ecx, 0xb86a72eb
jne 0x414a08
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx]
push edx
push dword [esi + 0x28]
push dword [ebp + 0x20]
call dword [eax + 0x1c]
mov ecx, dword [ebp + 0x18]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov ecx, dword [ecx + 0x30]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x38]
call fcn.00416250
add esp, 4
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 4]
mov dword [esi + 0xdc], eax
mov eax, 0xc997da68
nop word cs:[eax + eax]
cmp eax, 0x1704c8c8
jg 0x414af0
cmp eax, 0xc997da68
je 0x414ad4
cmp eax, 0xf2fe5e01
jne 0x414aa0
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0xd0], eax
mov eax, 0x1704c8c9
cmp dword [esi + 0xd0], 0
jmp 0x414ae0
cmp dword [esi + 0xdc], 0
mov eax, 0xf2fe5e01
mov ecx, 0x7bad5e5f
cmove eax, ecx
cmp eax, 0x1704c8c8
jle 0x414aa7
nop
cmp eax, 0x1704c8c9
je 0x414b03
cmp eax, 0x7bad5e5f
jne 0x414aa0
jmp 0x415008
mov eax, dword [esi + 0xd0]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd0]
push 1
call eax
mov eax, 0x7bad5e5f
cmp eax, 0x1704c8c8
jg 0x414af0
jmp 0x414aa7
movsd xmm0, qword [esi + 0xd0]
lea eax, [ebp + 0x10]
movsd qword [ebx], xmm0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov edi, 0xc5bf5291
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x34]
mov dword [esi + 0xdc], ebx
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xd0], eax
nop
cmp edi, 0xb86a72eb
je 0x414bae
cmp edi, 0x16192ea3
je 0x414b99
cmp edi, 0xc5bf5291
jne 0x414b60
cmp dword [ebx + 0x14], 0xf
mov edi, 0xb86a72eb
mov eax, 0x16192ea3
cmova edi, eax
mov eax, dword [esi + 0xd0]
cmp edi, 0xb86a72eb
jne 0x414b68
jmp 0x414bae
mov eax, dword [esi + 0xdc]
mov edi, 0xb86a72eb
mov eax, dword [eax]
cmp edi, 0xb86a72eb
jne 0x414b68
mov edi, dword [esi + 0x4c]
mov dword [edi + 4], edx
mov dword [edi], ecx
mov ebx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0xb4]
movsd xmm0, qword [edx]
movsd qword [esi + 0xd0], xmm0
mov edx, 0xd07bd87a
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x6491693a
je 0x415092
cmp edx, 0x54ccfb71
je 0x414c30
cmp edx, 0xd07bd87a
jne 0x414be0
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], eax
mov edx, 0x54ccfb71
mov edi, 0x6491693a
cmp dword [esi + 0xd8], 0
cmove edx, edi
cmp edx, 0x6491693a
jne 0x414bec
jmp 0x415092
mov eax, dword [esi + 0xdc]
lea ecx, [esi + 0xd0]
movsx eax, byte [eax]
push eax
call fcn.00418c10
mov ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0xdc]
dec ecx
inc eax
jmp 0x414bce
movsd xmm0, qword [esi + 0xd0]
mov ecx, dword [esi + 8]
lea edx, [ebp + 0x10]
movsd qword [ebx], xmm0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov edi, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov eax, dword [esi + 0xc4]
movsd xmm0, qword [ecx]
movsd qword [esi + 0xd0], xmm0
mov ecx, 0xbc8fd6f2
nop dword [eax]
cmp ecx, 0x712248d7
je 0x4150a7
cmp ecx, 0xdf99f39a
je 0x414cf0
cmp ecx, 0xbc8fd6f2
jne 0x414ca0
mov dword [esi + 0xdc], eax
mov ecx, 0xdf99f39a
mov edx, 0x712248d7
cmp dword [esi + 0xdc], 0
cmove ecx, edx
cmp ecx, 0x712248d7
jne 0x414cac
jmp 0x4150a7
movsx eax, byte [ebp + 0x1c]
lea ecx, [esi + 0xd0]
push eax
call fcn.00418c10
mov eax, dword [esi + 0xdc]
dec eax
jmp 0x414c97
push eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x60], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 8
mov eax, esp
cmp dword [ebp + 0x24], 0
mov dword [esi + 0x70], eax
mov eax, dword [0x450598]
setne byte [esi + 0x77]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xb1188631
not eax
and eax, 0x4ee779ce
or ecx, eax
mov eax, ecx
and ecx, 0x292d6b55
not eax
and eax, 0xd6d294aa
or ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0x9835ed64
xor eax, 0x67ca129b
xor edx, 0x67ca129a
and ecx, 0xfffffffe
and edx, eax
and eax, 1
or eax, ecx
mov ecx, edx
and edx, 0x87cc313
not ecx
mov edi, ecx
and edi, 0xf7833cec
or edx, edi
mov edi, eax
and eax, 0x87cc313
not edi
or ecx, edi
and edi, 0xf7833cec
or eax, edi
not ecx
mov edi, dword [0x45059c]
xor eax, edx
or ecx, eax
mov eax, ecx
and ecx, 0x38a9d19b
not eax
and eax, 0xc7562e64
or eax, ecx
mov ecx, eax
xor eax, 0x45540220
xor ecx, 0x38019110
and eax, 0x45fc42ab
and ecx, 0xba03bd54
or eax, ecx
mov ecx, eax
xor eax, 0x44a04223
xor ecx, 0xb0039544
and eax, 0x4ea06a33
and ecx, 0xb15f95cc
or ecx, eax
xor ecx, 0xb15f95cc
sete dl
setne cl
cmp edi, 9
setg al
cmp edi, 0xa
mov ah, dl
mov edi, 0x9efbc057
setl ch
xor ah, cl
and ah, dl
and cl, ch
mov dh, ah
mov bl, ah
xor dh, 1
or dh, ah
xor dh, 1
and bl, dh
xor dh, ah
mov ah, al
or dh, bl
or ah, dh
xor dh, 1
or dh, ch
mov ch, al
xor ah, 1
xor ch, dl
xor dh, 1
mov bl, dh
and ch, al
and al, dl
and bl, ah
xor ah, dh
or al, cl
mov cl, ch
or ah, bl
and cl, al
xor al, ch
or al, cl
mov dl, ah
mov ecx, eax
xor dl, al
and al, ah
and dl, ah
xor cl, 1
xor ah, 1
and ah, cl
mov ecx, edx
or al, ah
xor cl, al
test al, 1
mov eax, 0xef93f510
cmovne eax, edi
test dl, 1
mov ebx, 0xef93f510
cmove eax, ebx
test cl, 1
cmovne eax, edi
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x20]
mov ecx, 0x7a5273b8
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xbc]
movsx eax, byte [eax]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
cmp eax, 0x7f
mov eax, 0xece6b06b
jmp 0x415102
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb8]
mov edx, 0xfcd316c7
sub ecx, eax
mov eax, dword [esi + 0xa0]
cmp eax, ecx
mov eax, 0x7a5273b8
cmovb eax, edx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, 0x3296fd76
mov dword [esi + 0x14], 0
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0x10]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
mov eax, dword [eax + 0x24]
cmp dword [ecx + 0x20], 1
mov ecx, 0xf288019f
sbb eax, 0
mov eax, 0x6c23d65a
cmovl eax, ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
cmp byte [esi + 0x77], 0
mov eax, 0x2424026f
mov ecx, 0xf155be40
mov dword [esi + 0xc], 0
cmovne eax, ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x78]
cmp eax, 0x2d
sete al
mov dword [esi + 0xc], eax
mov eax, 0x2424026f
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx]
push dword [esi + 0x3c]
call dword [eax + 0x14]
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xd0], ecx
mov ecx, 0xdf29924e
nop
cmp ecx, 0x30b617f6
je 0x41507b
cmp ecx, 0x11d211d3
je 0x4150da
cmp ecx, 0xdf29924e
jne 0x415040
cmp dword [eax + 0x14], 0xf
mov ecx, 0x11d211d3
mov edx, 0x30b617f6
cmova ecx, edx
mov edx, dword [esi + 0xd0]
cmp ecx, 0x30b617f6
jne 0x415048
mov ecx, dword [esi + 0xdc]
mov edx, dword [ecx]
mov ecx, 0x11d211d3
cmp ecx, 0x30b617f6
jne 0x415048
jmp 0x41507b
movsd xmm0, qword [esi + 0xd0]
mov eax, dword [esi + 8]
movsd qword [ebx], xmm0
movsd xmm0, qword [eax]
jmp 0x4150b7
movsd xmm0, qword [esi + 0xd0]
movsd qword [ebx], xmm0
movsd xmm0, qword [edi]
lea eax, [ebp + 0x10]
mov dword [esi + 8], 0
movsd qword [eax], xmm0
mov eax, 0xef78cda5
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov dword [esi + 0x94], edx
mov ecx, 0xbcde0963
mov eax, dword [esi + 0x94]
movsx eax, byte [eax]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x98]
cmp eax, 0x7f
mov eax, 0x5378fd4f
cmove eax, ecx
cmp eax, 0x411bea5
jg 0x413afb
jmp 0x4146a0
mov eax, dword [ebp + 0x20]
mov ecx, 0x2424026f
movsx eax, byte [eax]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x2b
mov eax, 0x13e5584
cmove eax, ecx
mov cl, 1
jmp 0x413ae1
mov eax, dword [esi + 0x68]
mov edx, 0xc5bf5291
mov dword [esi + 4], eax
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb4]
mov dword [esi + 0xc], ecx
mov ebx, dword [esi + 0x34]
mov edi, dword [esi + 0xb4]
mov dword [esi + 0xdc], ebx
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xd0], ecx
nop dword [eax + eax]
cmp edx, 0xb86a72eb
je 0x4151ce
cmp edx, 0x16192ea3
je 0x4151b9
cmp edx, 0xc5bf5291
jne 0x415180
cmp dword [ebx + 0x14], 0xf
mov edx, 0xb86a72eb
mov ecx, 0x16192ea3
cmova edx, ecx
mov ecx, dword [esi + 0xd0]
cmp edx, 0xb86a72eb
jne 0x415188
jmp 0x4151ce
mov ecx, dword [esi + 0xdc]
mov edx, 0xb86a72eb
mov ecx, dword [ecx]
cmp edx, 0xb86a72eb
jne 0x415188
add ecx, edi
lea edi, [ebp + 0x10]
sub eax, dword [esi + 0xc]
mov edx, dword [esi + 0x6c]
mov ebx, 0x6491693a
movsd xmm0, qword [edi]
movsd qword [edx], xmm0
mov edi, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
movsd xmm0, qword [edx]
movsd qword [esi + 0xd0], xmm0
mov edx, 0xd07bd87a
nop dword [eax]
cmp edx, 0x6491693a
je 0x415265
cmp edx, 0x54ccfb71
je 0x415240
cmp edx, 0xd07bd87a
jne 0x415200
mov dword [esi + 0xd8], eax
mov dword [esi + 0xdc], ecx
mov edx, 0x54ccfb71
cmp dword [esi + 0xd8], 0
cmove edx, ebx
cmp edx, 0x6491693a
jne 0x415208
jmp 0x415265
mov eax, dword [esi + 0xdc]
lea ecx, [esi + 0xd0]
movsx eax, byte [eax]
push eax
call fcn.00418c10
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
dec eax
inc ecx
jmp 0x4151f8
movsd xmm0, qword [esi + 0xd0]
mov eax, dword [esi + 4]
movsd qword [edi], xmm0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea eax, [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [0x450510]
mov dword [esi + 4], ecx
mov dword [esi + 0xc], edx
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edi, ecx
and ecx, 0x7ba27b75
not eax
and edi, 0x171ae0b8
mov edx, eax
and eax, 0x845d848a
and edx, 0xe8e51f47
or eax, ecx
mov ecx, dword [0x450514]
or edi, edx
mov edx, edi
and edi, 0xe8e51f46
not edx
and edx, 0x171ae0b9
or edi, edx
mov edx, edi
and edi, 0x845d848a
not edx
mov ebx, edx
and ebx, 0x7ba27b75
or edi, ebx
xor eax, edi
mov edi, 0x74483854
not eax
or eax, edx
cmp eax, 0xffffffff
sete al
sete byte [esi + 0xd8]
cmp ecx, 0xa
setl cl
setl byte [esi + 0xdc]
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
or cl, dl
mov eax, ecx
and cl, dl
xor dl, 1
xor al, 1
mov ah, al
xor ah, dl
and dl, al
or dl, cl
and ah, al
mov ecx, 0x27a6f0b4
mov al, dl
xor al, ah
test dl, dl
mov edx, 0x74483854
cmovne edi, ecx
test ah, ah
cmove edi, edx
test al, 1
mov eax, 0x7285f49c
cmovne edi, ecx
nop word cs:[eax + eax]
cmp eax, 0x7285f49b
jg 0x4153a0
cmp eax, 0xee233685
je 0x41536a
cmp eax, 0x27a6f0b4
jne 0x415350
jmp 0x4154ec
mov eax, dword [ebp + 0x18]
movsd xmm0, qword [eax + 0x20]
movsd qword [esi + 0xd0], xmm0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov eax, edi
cmp eax, 0x7285f49b
jle 0x415357
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x74483854
je 0x4154c6
cmp eax, 0x7285f49c
jne 0x415350
movzx ecx, byte [esi + 0xd8]
movzx ebx, byte [esi + 0xdc]
mov edx, ebx
mov eax, ecx
mov ah, cl
mov byte [esi + 0x10], cl
xor dl, 1
xor al, 1
mov dh, dl
mov ecx, edx
mov ch, al
mov byte [esi + 0x14], al
and dh, bl
and cl, dh
xor dh, dl
or dh, cl
mov cl, al
and cl, ah
mov bh, dh
and ch, cl
xor cl, al
xor bh, 1
or cl, ch
mov ch, ah
mov ah, dh
or ch, al
mov al, cl
or ah, bh
xor al, ch
or ch, cl
mov cl, ah
xor ch, 1
or ch, al
mov al, ah
xor al, 1
and cl, al
xor ah, cl
xor cl, 1
or cl, al
xor cl, 1
or cl, ah
mov ah, cl
and cl, bl
xor ah, 1
and ah, dl
mov dl, al
or al, bl
or cl, ah
xor dl, bl
xor al, 1
or al, dl
xor cl, 1
mov dl, cl
or cl, al
xor dl, al
xor cl, 1
or cl, dl
mov eax, ecx
xor al, 1
and cl, al
xor cl, 1
mov dl, cl
or cl, al
xor dl, al
xor cl, 1
mov al, ch
or cl, dl
mov dl, byte [esi + 0x10]
xor al, 1
and al, cl
xor cl, 1
and cl, ch
or cl, al
and dh, dl
or dl, bh
and bh, byte [esi + 0x14]
mov eax, edx
or bh, dh
xor bh, 1
xor al, bh
or bh, dl
xor bh, 1
or bh, al
mov al, bh
xor al, 1
and bh, al
mov edx, eax
and dl, bh
xor bh, al
or bh, dl
mov edx, ecx
mov al, bh
xor dl, 1
xor al, 1
and bh, dl
or dl, al
and al, cl
or al, bh
mov ebx, 0xee233685
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x74483854
cmovne eax, ebx
test dl, 1
mov edx, 0x74483854
cmovne eax, edx
test cl, 1
cmove eax, ebx
cmp eax, 0x7285f49b
jle 0x415357
jmp 0x4153a0
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov eax, 0xee233685
cmp eax, 0x7285f49b
jle 0x415357
jmp 0x4153a0
mov eax, dword [esi + 0xd0]
mov eax, dword [esi + 0xd4]
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 4]
movsx ebx, byte [ebp + 0x1c]
mov edi, 0x712248d7
mov dword [eax + 4], ecx
mov dword [eax], edx
mov eax, dword [esi + 0x70]
movsd xmm0, qword [eax]
movsd qword [esi + 0xd0], xmm0
mov eax, 0xbc8fd6f2
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x712248d7
je 0x415588
cmp eax, 0xdf99f39a
je 0x415570
cmp eax, 0xbc8fd6f2
jne 0x415530
mov eax, dword [esi + 8]
mov dword [esi + 0xdc], eax
mov eax, 0xdf99f39a
cmp dword [esi + 0xdc], 0
cmove eax, edi
cmp eax, 0x712248d7
jne 0x415537
jmp 0x415588
lea ecx, [esi + 0xd0]
push ebx
call fcn.00418c10
mov eax, dword [esi + 0xdc]
dec eax
mov dword [esi + 8], eax
jmp 0x41551e
movsd xmm0, qword [esi + 0xd0]
mov eax, dword [ebp + 0xc]
mov edi, 0x5b63c86a
movsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xd0]
mov eax, 0x1f827f1
cmp eax, 0xe63e0ae3
je 0x415607
cmp eax, 0x5b63c86a
je 0x4155e0
cmp eax, 0x1f827f1
jne 0x4155b0
mov eax, dword [esi + 0xd0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xe63e0ae3
cmova eax, edi
cmp eax, 0xe63e0ae3
jne 0x4155b7
jmp 0x415607
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd0]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.004078e0
add esp, 8
mov eax, 0xe63e0ae3
cmp eax, 0xe63e0ae3
jne 0x4155b7
mov eax, dword [esi + 0xd0]
mov dword [eax + 0x10], 0
mov eax, dword [esi + 0xd0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esi + 0xd0]
mov byte [eax], 0
mov ecx, dword [0x450520]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
not ecx
and edi, 0x2650fbfe
mov edx, ecx
and ecx, 0xd9af0401
and edx, eax
or ecx, edi
mov edi, edx
and edx, 0xd9af0401
not edi
or eax, edi
and edi, 0x2650fbfe
or edx, edi
not eax
mov edi, 0xe725cd14
xor edx, ecx
or eax, edx
mov ecx, eax
mov edx, eax
xor ecx, 1
not edx
and ecx, eax
and edx, 0xfffffffe
and eax, 1
or eax, edx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0xd6ff653c
not ecx
and ecx, 0x29009ac3
or eax, ecx
mov ecx, eax
xor eax, 0x29009ac3
xor ecx, 0xc4136528
mov edx, eax
and edx, 0x3aec8255
and ecx, 0xc5137daa
or ecx, edx
mov edx, dword [0x450524]
xor ecx, 0x3aec8255
xor eax, ecx
test eax, ecx
setne al
sete cl
sete byte [esi + 0xdc]
cmp edx, 9
setg bl
cmp edx, 0xa
mov ah, bl
setl dl
setl byte [esi + 0xd0]
xor ah, cl
and dl, al
xor ah, 1
or ah, bl
and bl, cl
mov ecx, 0x6901612f
or bl, dl
mov al, ah
xor bl, 1
and al, bl
xor bl, ah
or al, bl
mov edx, eax
xor dl, bl
test al, al
cmovne ecx, edi
test bl, bl
cmove ecx, edi
test dl, 1
mov edx, 0x6901612f
cmove ecx, edx
mov edx, 0x8664642e
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x541df2d9
jg 0x415760
cmp edx, 0x8664642e
je 0x415779
cmp edx, 0xe725cd14
jne 0x415730
mov edx, 0x541df2da
cmp edx, 0x541df2d9
jle 0x415738
nop word cs:[eax + eax]
nop
cmp edx, 0x541df2da
je 0x41580f
cmp edx, 0x6901612f
jne 0x415730
jmp 0x415822
mov dh, byte [esi + 0xdc]
movzx ebx, byte [esi + 0xd0]
mov edi, 0x541df2da
mov bh, dh
xor bh, 1
mov al, bh
mov dl, bh
xor bh, bl
xor bh, 1
and bh, bl
xor bl, 1
and al, bl
xor dl, bl
xor bl, dh
mov ah, bh
xor bl, 1
or dl, al
and bl, dh
mov al, dl
and ah, bl
xor bl, bh
xor al, 1
or bl, ah
mov ah, bl
mov dh, bl
xor ah, 1
mov bh, ah
and bh, bl
xor bh, 1
xor dh, bh
or bh, bl
xor bh, 1
or bh, dh
and al, bh
xor bh, 1
and bh, dl
or bh, al
mov al, dl
and al, ah
xor ah, dl
mov edx, 0xe725cd14
or ah, al
mov al, ah
xor al, bh
test al, 1
cmovne edi, edx
test ah, 1
mov edx, 0x541df2da
cmovne edx, edi
test bh, 1
cmove edx, edi
cmp edx, 0x541df2d9
jg 0x415760
jmp 0x415738
mov edx, ecx
cmp edx, 0x541df2d9
jg 0x415760
jmp 0x415738
mov eax, dword [esi + 0x90]
mov eax, dword [esi + 0x34]
mov edi, 0x5b63c86a
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xd0]
mov eax, 0x1f827f1
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xe63e0ae3
je 0x4158a7
cmp eax, 0x5b63c86a
je 0x415880
cmp eax, 0x1f827f1
jne 0x415850
mov eax, dword [esi + 0xd0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xe63e0ae3
cmova eax, edi
cmp eax, 0xe63e0ae3
jne 0x415857
jmp 0x4158a7
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd0]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.004078e0
add esp, 8
mov eax, 0xe63e0ae3
cmp eax, 0xe63e0ae3
jne 0x415857
mov eax, dword [esi + 0xd0]
mov dword [eax + 0x10], 0
mov eax, dword [esi + 0xd0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esi + 0xd0]
mov byte [eax], 0
mov ecx, dword [0x450520]
lea edx, [ecx - 1]
imul edx, ecx
mov edi, edx
mov ecx, edx
not edi
and ecx, 0x65464b84
mov dword [esi + 4], edi
and edi, 0x9ab9b47a
or ecx, edi
mov edi, ecx
xor ecx, 0x9ab9b47b
xor edi, 0x40460a00
mov ebx, ecx
and ebx, 0x3f21f1f4
and edi, 0xc0de0e0a
or edi, ebx
mov ebx, edx
xor ebx, 0xfffffffe
and ebx, edx
and edx, 0x62a4794e
mov eax, ebx
and ebx, 0xc0de0e0b
not eax
or ecx, eax
and eax, 0x3f21f1f4
or ebx, eax
mov eax, dword [esi + 4]
not ecx
xor ebx, edi
or ecx, ebx
and eax, 0x9d5b86b1
or edx, eax
mov eax, ecx
and ecx, 0x5e9237da
not eax
mov edi, eax
and edi, 0xa16dc825
or ecx, edi
mov edi, edx
xor edx, 0x81498021
xor edi, 0x4280314a
and edx, 0xa16dc825
and edi, 0x5e9237da
or edi, edx
xor edi, ecx
mov ecx, dword [0x450524]
not edi
or edi, eax
cmp edi, 0xffffffff
mov edi, 0x6901612f
sete ah
setne dh
sete byte [esi + 0xdc]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl ch
setl byte [esi + 0xd0]
mov cl, ch
mov al, ch
xor cl, dh
or al, dh
not cl
mov ebx, eax
and cl, dh
xor bl, cl
xor cl, 1
or cl, al
mov al, ch
xor ch, ah
and ah, dl
or dl, dh
xor bl, 1
and al, dh
xor dl, 1
xor cl, 1
or al, ah
or dl, ch
or cl, bl
mov ebx, 0xe725cd14
xor al, 1
mov ah, al
or al, dl
xor ah, dl
xor al, 1
or al, ah
mov edx, eax
mov ah, al
xor dl, 1
and dl, al
and ah, dl
xor dl, al
or dl, ah
mov ah, dl
xor dl, 1
and ah, cl
xor cl, 1
and dl, cl
or dl, ah
mov ah, cl
xor cl, al
and ah, al
or cl, ah
mov eax, ecx
xor al, dl
test al, 1
cmovne edi, ebx
test cl, 1
mov ecx, 0x6901612f
cmovne ecx, edi
test dl, 1
mov edx, 0x8664642e
cmove ecx, edi
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x541df2d9
jg 0x415a60
cmp edx, 0x8664642e
je 0x415a79
cmp edx, 0xe725cd14
jne 0x415a30
mov edx, 0x541df2da
cmp edx, 0x541df2d9
jle 0x415a38
nop word cs:[eax + eax]
nop
cmp edx, 0x541df2da
je 0x415b28
cmp edx, 0x6901612f
jne 0x415a30
jmp 0x415b3b
movzx edx, byte [esi + 0xdc]
mov dh, byte [esi + 0xd0]
mov edi, 0x541df2da
mov eax, edx
mov ah, dl
xor al, 1
mov bh, al
or bh, dl
xor dl, dh
and ah, bh
xor bh, 1
mov bl, bh
xor bl, al
and bl, bh
and bh, al
or bh, ah
mov ah, bl
xor bl, bh
xor ah, 1
xor bh, 1
or bh, ah
xor bh, 1
or bh, bl
mov bl, dh
xor bl, bh
mov ah, bl
and bl, bh
and ah, dh
mov bh, ah
and bh, bl
xor bl, ah
mov ah, al
xor ah, dh
or bl, bh
and ah, al
mov bh, bl
mov al, ah
xor ah, dl
xor dl, 1
xor al, 1
or dl, al
xor dl, 1
or dl, ah
mov eax, edx
and bh, dl
xor al, 1
mov ah, al
or al, bl
xor bl, 1
and ah, bl
xor bl, dl
xor al, 1
or al, bl
or bh, ah
mov edx, eax
xor dl, bh
test dl, 1
mov edx, 0xe725cd14
cmovne edi, edx
test al, 1
mov edx, 0x541df2da
cmovne edx, edi
test bh, 1
cmove edx, edi
cmp edx, 0x541df2d9
jg 0x415a60
jmp 0x415a38
mov edx, ecx
cmp edx, 0x541df2d9
jg 0x415a60
jmp 0x415a38
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0xe0]
xor ecx, ebp
call fcn.0041ede8
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret