Function at 0x41713e
Capabilities:
Authenticate hmac
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push esp
and al, 0x28
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, ecx
mov dword [ebp - 0x140], edx
xor ecx, ecx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov eax, dword [eax]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x48], ecx
push ebx
mov ebx, dword [edx]
mov edx, ecx
mov ecx, eax
mov dword [ebp - 0x34], eax
shr ecx, 0xb
and ecx, 1
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x44], ecx
mov ecx, eax
shr ecx, 9
and ecx, 1
movsx eax, al
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xe0], ecx
xor ecx, 1
push edi
mov dword [ebp - 0xe4], ecx
xor ecx, ecx
and eax, dword [ebp - 0xc]
mov esi, dword [esi]
push 0xfffffffffffffffe
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x6c], ecx
pop ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xd8], 0xff
mov dword [ebp - 0x100], 0xfc00
mov dword [ebp - 0x108], 0xdc00
mov dword [ebp - 0x148], 0x2b
mov dword [ebp - 0x128], 0x7b
mov dword [ebp - 0xb0], 0x30
mov dword [ebp - 0x104], 0x29
mov dword [ebp - 0x88], 0x39
mov dword [ebp - 0x154], 0x3c
mov dword [ebp - 0x13c], 0x52
mov dword [ebp - 0xdc], 0x27
mov dword [ebp - 0x158], 0x2d
mov dword [ebp - 0x110], 0x10
mov dword [ebp - 0xfc], 0x81
mov dword [ebp - 0xf8], 0x17
mov dword [ebp - 0x114], 0x20
mov dword [ebp - 0x134], 0x1d
mov dword [ebp - 0x10c], 0x1e
mov dword [ebp - 0x14c], 0x1f
mov dword [ebp - 0x11c], 0x6e
mov dword [ebp - 0x150], 0x6f
mov dword [ebp - 0x124], 0x70
mov dword [ebp - 0x144], 0x71
mov dword [ebp - 0x12c], 0x73
mov dword [ebp - 0x118], 0xf
movzx edi, word [esi]
mov dword [ebp - 0x24], edi
test edi, edi
je 0x417c25
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
test edx, edx
je 0x417385
cmp ebx, eax
ja 0x45457d
mov eax, dword [ebp - 0xa8]
cmp ebx, eax
jb 0x4181fb
mov edx, dword [edx]
mov ecx, ebx
sub ecx, eax
mov eax, 0x7fffffeb
sar ecx, 1
sub eax, edx
cmp eax, ecx
jl 0x4544d5
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x10]
mov dword [ecx], eax
test edx, edx
je 0x417393
mov ecx, dword [ebp - 0xa4]
cmp edx, ecx
jbe 0x41739c
mov eax, ebx
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00427fa0
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0xa4]
sub edx, ecx
mov esi, dword [ebp - 4]
sar edx, 1
neg edx
mov dword [ebp - 0x10], ecx
lea ebx, [ebx + edx*2]
jmp 0x417399
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 0x20], eax
ja 0x45457d
jmp 0x4173a8
mov ebx, dword [ebp - 0xa4]
mov dword [ebp - 8], ebx
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0xa8], ebx
cmp dword [ebp - 0x3c], 0
jne 0x451b66
mov edx, dword [ebp - 0x34]
mov ebx, edx
and ebx, 8
mov dword [ebp - 0x54], ebx
jne 0x418205
push 0x2a
pop eax
cmp edi, eax
je 0x41786a
push 0x2b
pop eax
cmp edi, eax
je 0x41786a
push 0x3f
pop eax
cmp edi, eax
je 0x41786a
push 0x7b
pop eax
cmp edi, eax
je 0x451cd1
xor eax, eax
cmp dword [ebp - 0x80], eax
mov ecx, eax
mov eax, dword [ebp - 0x40]
jne 0x451ce9
test edx, 0x4000
jne 0x451d2a
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp edi, eax
ja 0x41758a
je 0x417af4
mov eax, edi
xor ecx, ecx
sub eax, ecx
je 0x4175ba
sub eax, 0x24
je 0x4527b4
sub eax, 4
je 0x417912
dec eax
je 0x4175ba
dec eax
je 0x417c32
dec eax
je 0x41820f
sub eax, 3
je 0x417f9a
cmp dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0xc]
mov ebx, ecx
mov word [ebp - 0xf4], di
je 0x417481
mov eax, edi
mov edx, 0xfc00
and eax, edx
cmp eax, 0xd800
je 0x4532da
push 2
pop esi
cmp dword [ebp - 0x44], 0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], edx
je 0x4174e4
test cl, al
je 0x4174e4
movzx ecx, di
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x454319
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f53]
test eax, eax
jne 0x417f22
mov edx, dword [ebp - 8]
push ebp
clc
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
test cl, al
push 0
pop eax
setne al
push 0x1d
pop ecx
add eax, ecx
mov word [edx], ax
add edx, esi
mov dword [ebp - 8], edx
test ebx, ebx
je 0x417519
mov ecx, ebx
lea esi, [ebp - 0xf4]
shr ecx, 1
mov edi, edx
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
lea edx, [edx + ebx*2]
rep movsw word es:[edi], word [esi]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x24]
push 0xd
pop ecx
cmp ax, cx
je 0x454338
push 0xa
pop ecx
cmp ax, cx
je 0x454338
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
je 0x417875
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x20], eax
cmp ebx, dword [ebp - 0xc]
jne 0x454368
mov ebx, dword [ebp - 8]
movzx eax, word [ebx - 2]
mov dword [ebp - 0x64], eax
mov eax, dword [edx + 0x68]
or eax, dword [ebp - 0x8c]
mov dword [ebp - 0x60], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x40]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x4172ed
mov eax, edi
sub eax, 0x5b
je 0x417616
dec eax
je 0x4178af
dec eax
je 0x4532bc
dec eax
je 0x453298
sub eax, 0x1d
je 0x4527cb
dec eax
jne 0x41745b
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x140]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [eax], esi
test ebx, ebx
je 0x41760c
sub edx, dword [ebp - 0xa8]
mov ecx, 0x7fffffeb
mov eax, dword [ebx]
sub ecx, eax
sar edx, 1
cmp ecx, edx
jl 0x4544d5
lea ecx, [eax + edx]
mov dword [ebx], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [esi + 2]
mov edx, 0x48fbb8
push 6
mov ecx, edi
call fcn.0041836a
pop ecx
test eax, eax
je 0x453afc
push 6
mov edx, 0x48fbb0
mov ecx, edi
call fcn.0041836a
pop ecx
test eax, eax
je 0x453b06
mov eax, dword [ebp - 8]
push 0x3a
mov dword [ebp - 0x10], eax
movzx eax, word [edi]
pop ebx
cmp ax, bx
je 0x453b1e
push 0x2e
pop ecx
cmp ax, cx
je 0x453b1e
push 0x3d
pop ecx
cmp ax, cx
je 0x453b1e
push 2
pop edx
push 0x5c
pop ecx
push 0x45
xor eax, eax
pop edi
mov dword [ebp - 0x38], eax
add esi, edx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x24], ebx
cmp ebx, ecx
je 0x41815d
test eax, eax
jne 0x4176a2
cmp ebx, 0x5e
je 0x418278
or eax, dword [eax]
add byte [edx + 0x5d], ch
push 0x5d
pop ecx
cmp ebx, ecx
je 0x453b5d
mov edi, dword [ebp - 8]
xor edx, edx
push 0x20
pop eax
push eax
add edi, 6
mov dword [ebp - 0x28], edx
push edx
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x54], edx
push eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x4c], edx
call fcn.00422fa0
mov esi, dword [ebp - 4]
add esp, 0xc
test ebx, ebx
je 0x45421b
cmp dword [ebp - 0x44], 0
je 0x417708
mov eax, ebx
mov ecx, 0xfc00
and eax, ecx
mov edx, 0xd800
cmp eax, edx
je 0x453ba2
mov edx, dword [ebp + 0x2c]
test edx, edx
je 0x41771a
mov eax, dword [ebp - 0x78]
cmp edi, eax
ja 0x453bd9
cmp dword [ebp - 0x3c], 0
jne 0x453bf2
cmp ebx, 0x5b
je 0x453c1f
push 0x5c
pop eax
cmp ebx, eax
je 0x418183
fmul dword [edi]
test byte [ebx + 0xa], cl
add byte [eax], al
mov edx, dword [ebp + 0xc]
xor ecx, ecx
push 0x5c
pop edi
cmp word [esi + 2], di
je 0x418291
push 0xd
pop eax
mov ecx, esi
cmp ebx, eax
je 0x4540bd
push 0xa
pop eax
cmp ebx, eax
je 0x4540bd
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x417776
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x417e7e
mov eax, dword [ebp - 0x18]
push 2
pop ecx
cmp eax, ecx
jl 0x417861
cmp eax, dword [ebp - 0xc]
je 0x417ae2
push ebx
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0x34]
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
call fcn.004182c6
mov ecx, dword [ebp - 0x20]
add esp, 0x10
mov edi, dword [ebp - 0x1c]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 4]
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
push 2
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x4541f7
cmp ebx, 0x5d
jne 0x4176ec
test eax, eax
jne 0x4176ec
mov eax, dword [ebp - 0xc]
cmp edi, dword [ebp - 0x78]
ja 0x4177ef
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
je 0x417f4c
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x20], ebx
test eax, eax
jne 0x45437a
mov esi, dword [ebp - 0x38]
xor eax, eax
mov ebx, dword [ebp - 8]
cmp esi, edx
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [ebx], ax
push 2
pop eax
add ebx, eax
cmp dword [ebp + 0x2c], 0
jne 0x417854
test esi, esi
jne 0x4182a3
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd0]
push eax
push ebx
call 0x421000
add esp, 0xc
push 0x20
pop eax
add ebx, eax
mov dword [ebp - 8], ebx
jmp 0x417577
inc eax
mov dword [ebp - 0x18], eax
jmp 0x417784
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x40]
jmp 0x4173ff
mov ecx, dword [ebp - 0x64]
or dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
jne 0x454347
movzx eax, ax
cmp ebx, ecx
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
je 0x417577
jmp 0x454359
mov eax, dword [ebp + 0x28]
lea edx, [ebp - 0x90]
xor ebx, ebx
mov dword [ebp - 0x74], esi
push ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [eax + 0x40]
push dword [ebp + 0xc]
call fcn.00418399
mov edx, dword [ebp + 0xc]
add esp, 0x10
push ebp
or al, 0x83
les edx, [eax]
mov edi, eax
clc
cmp dword [edx], ebx
jne 0x4182be
test edi, edi
jne 0x418099
cmp dword [ebp - 0x90], 0xffff
ja 0x453308
add eax, dword [eax]
mov di, word [ebp - 0x90]
mov ecx, dword [ebp - 0xc]
mov ebx, ecx
mov dword [ebp - 0x24], edi
mov word [ebp - 0xf4], di
jmp 0x417481
mov ecx, dword [ebp + 0x28]
xor ebx, ebx
mov eax, dword [ebp - 0x34]
push 2
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x48], edx
pop edx
add esi, edx
mov dword [ebp - 0x14], ebx
push 0x2a
mov dword [ebp - 4], esi
pop edi
movzx edx, word [esi]
mov dword [ebp - 0x1c], 0x85
mov dword [ebp - 0x4c], ebx
cmp dx, di
je 0x451d75
push 0x3f
pop edi
cmp dx, di
je 0x417c3c
test eax, 0x1000
jne 0x41822b
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 8]
inc dword [eax + 0x40]
mov ax, word [eax + 0x40]
mov word [edx + 4], ax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
push 0x52
pop edi
mov eax, dword [ebp + 0x28]
inc dword [eax + 0x58]
cmp dword [eax + 0x58], 0xfa
jg 0x4182b4
mov word [edx], bx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x50], edx
mov edx, eax
mov eax, dword [ebp + 0x2c]
mov edi, dword [edx + 0x68]
mov esi, dword [edx + 0x40]
xor edx, edx
neg eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x84], edx
sbb eax, eax
and eax, ecx
mov ecx, 0x87
cmp ebx, ecx
je 0x41824f
cmp ebx, 0x7f
je 0x418257
add ecx, 0xfffffff9
cmp ebx, ecx
je 0x418257
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0x94]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x50]
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 4]
push dword [ebp - 0x4c]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x68]
push eax
call fcn.00416dfd
add esp, 0x34
test eax, eax
inc dword [ebx - 0x3f7acb3c]
je 0x4182be
mov eax, dword [ebp + 0x28]
mov ecx, 0x81
dec dword [eax + 0x58]
cmp ebx, ecx
je 0x453579
mov esi, dword [ebp - 8]
push 0x7d
pop ecx
cmp ebx, ecx
jl 0x417a54
add ecx, 3
cmp ebx, ecx
jle 0x41825f
mov eax, 0x87
cmp ebx, eax
je 0x453592
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x45450f
mov edx, dword [ebp + 0x2c]
test edx, edx
jne 0x417f57
sub al, 0x85
ror byte [edi], cl
test eax, edx
add al, 0
add byte [ebx + 0x5589b055], cl
clc
mov edx, dword [ebp - 0x50]
mov dword [ebp - 8], edx
mov edx, 0x91
cmp ebx, edx
je 0x417ada
inc esp
mov edx, dword [ebp - 0x64]
and dword [ebp - 0x9c], 0
inc dword [eax]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x70], edx
cmp ebx, 0x81
jl 0x453622
cmp edx, 0xfffffffe
je 0x4535fa
test ecx, ecx
jns 0x4181cb
test eax, eax
jns 0x4181ea
mov ebx, dword [ebp - 8]
jmp 0x41757a
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41778d
jmp 0x454229
mov edi, dword [ebp - 0xc]
xor eax, eax
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edi
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4182ad
test edx, edx
jne 0x417b2b
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x60], eax
mov eax, edx
mov dword [ebp - 0x50], ecx
sub eax, edi
neg eax
sbb eax, eax
and eax, 2
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x38], eax
test ebx, ebx
jne 0x418235
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop ebx
cmp ax, bx
je 0x4528dc
push 0x3f
pop ebx
cmp ax, bx
je 0x417fe0
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x10]
push 0x75
pop ecx
cmp word [eax], cx
je 0x4528f3
movzx ecx, word [eax]
cmp cx, word [ebp - 0x134]
je 0x452f19
cmp cx, word [ebp - 0x10c]
je 0x452f19
cmp cx, word [ebp - 0x14c]
je 0x452f19
cmp cx, word [ebp - 0x114]
je 0x452f19
cmp cx, word [ebp - 0xf8]
jb 0x417ff0
cmp cx, word [ebp - 0x11c]
jne 0x417d3d
test edi, edi
je 0x41823d
test edx, edx
jne 0x452ee1
cmp edi, 0xffffffff
je 0x417e76
cmp edi, dword [ebp - 0xc]
jne 0x452ef3
lea eax, [ebx + 0x66]
mov ebx, dword [ebp - 8]
push 2
pop edx
mov word [ebx], ax
mov dword [ebx], eax
mov esi, dword [ebp - 4]
add ebx, edx
mov dword [ebp - 8], ebx
xor edi, edi
cmp dword [ebp - 0x38], 0
jne 0x45318a
mov edi, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x68]
or dword [edi + 0x68], eax
jmp 0x41757a
inc dword [ebp - 0x317bf02e]
idiv bh
invalid
test edx, edx
je 0x4172fb
jmp 0x451b51
mov edx, ecx
or edi, 0xffffffff
jmp 0x417afb
push 2
pop edx
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov eax, edi
cmp eax, 0x3a
jle 0x451fb4
sub eax, 0x3c
je 0x4525c7
dec eax
je 0x452507
dec eax
je 0x418221
sub eax, 5
je 0x452563
push 0xd
pop ecx
sub eax, ecx
je 0x452529
sub eax, edx
je 0x418217
push 0x2a
pop ecx
sub eax, ecx
je 0x4524fa
xor ecx, ecx
push 0x29
mov eax, ecx
mov edx, ecx
pop ebx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], edx
cmp di, bx
je 0x417cdc
push 2
pop edx
push 0x3a
pop eax
cmp di, ax
je 0x417cd6
movzx eax, di
add esi, edx
mov dword [ebp - 4], esi
cmp eax, 0x69
jg 0x45351d
jne 0x4534d3
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx edi, word [esi]
cmp di, bx
jne 0x417caa
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
not eax
and edx, eax
mov dword [ebp - 0x68], edx
cmp word [esi], bx
jne 0x453562
mov edi, dword [ebp + 0x28]
mov ebx, dword [ebp - 8]
push 4
pop ecx
mov eax, dword [edi + 0x14]
add eax, ecx
cmp ebx, eax
je 0x45354b
mov ecx, dword [ebp - 0xc]
mov eax, edx
shr eax, 9
and eax, ecx
mov dword [ebp - 0xe0], eax
xor eax, ecx
mov dword [ebp - 0xe4], eax
movsx eax, dl
and eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x34], edx
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x41757a
adc byte [ebx], dh
ror byte [ecx + 0x3de9f045], 0xf8
invalid
cmp cx, word [ebp - 0x150]
je 0x417bd0
cmp cx, word [ebp - 0x124]
je 0x417bd0
cmp cx, word [ebp - 0x144]
je 0x417bd0
cmp ecx, 0x72
je 0x417bd0
cmp cx, word [ebp - 0x12c]
je 0x417bd0
cmp ecx, 0x74
je 0x417bd0
push 0x7d
pop eax
cmp cx, ax
jb 0x452ec5
add eax, 0xa
cmp cx, ax
ja 0x452ec5
mov eax, dword [ebp - 8]
xor edx, edx
mov ebx, eax
mov dword [ebp - 0x24], edx
sub ebx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], edx
mov edx, 0x87
sar ebx, 1
cmp cx, dx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x18], ebx
je 0x452973
cmp cx, word [ebp - 0xfc]
jb 0x452990
mov ecx, dword [ebp - 0xc]
test edx, edx
jne 0x452a77
push dword [ebp - 0x48]
push dword [ebp + 0x28]
push dword [ebp - 0x44]
cmp edi, ecx
jg 0x452a20
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov word [eax], cx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
call fcn.00418673
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + ebx]
add esp, 0xc
lea esi, [ecx + 2]
push eax
push ecx
push esi
call fcn.00427fa0
mov ebx, dword [ebp - 8]
add esp, 0xc
push 2
pop eax
add ebx, eax
mov dword [ebp - 8], ebx
test edi, edi
je 0x4529b1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add eax, 0x92
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], esi
mov word [ecx], ax
mov esi, dword [ebp - 4]
dec edi
mov dword [ebp - 0x58], edi
test edi, edi
js 0x452d72
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
jne 0x41808c
dec edi
jns 0x452c0d
xor edi, edi
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jne 0x452d30
xor edi, edi
mov ebx, dword [ebp - 8]
push 2
pop edx
jmp 0x417c08
lea eax, [ebx + 0x62]
jmp 0x417bf5
push 4
pop eax
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x4540cc
movzx eax, word [esi]
test ax, ax
je 0x418299
test edi, edi
jne 0x417eb1
push 0x5d
pop edi
cmp ax, di
je 0x418299
cmp dword [ebp - 0x44], 0
mov edi, eax
mov dword [ebp - 0x30], edi
je 0x417ed0
mov ecx, 0xfc00
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x45413b
cmp dword [ebp - 0x3c], 0
jne 0x417eea
push 0x5c
pop eax
cmp edi, eax
je 0x454160
cmp edi, 0x5b
je 0x4541a8
mov ecx, dword [ebp + 0xc]
cmp edi, ebx
sti
jb 0x454575
je 0x417776
push 2
pop eax
push 0xd
mov dword [ebp - 0x18], eax
pop eax
cmp edi, eax
je 0x4541e8
push 0xa
pop eax
cmp edi, eax
je 0x4541e8
mov eax, dword [ebp + 0x28]
push edi
push ebx
push eax
jmp 0x417792
mov ebx, dword [ebp - 8]
push 0x10
pop ecx
push 9
mov word [ebx], cx
add ebx, esi
pop ecx
mov word [ebx], cx
add ebx, esi
mov word [ebx], ax
add ebx, esi
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], ebx
jne 0x417577
jmp 0x4539e3
or ebx, 0xffffffff
mov dword [ebp - 0x2c], ebx
jmp 0x4177fb
mov edi, dword [ebp - 0x84]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x4544d5
invalid
jg 0x417eee
adc ch, byte [ebx]
retf 0x478d
mov ebx, dword [ebp - 8]
lea eax, [edi - 4]
mov ecx, dword [ebp + 0x2c]
add eax, edx
push 2
pop edx
add ebx, edx
mov dword [ecx], eax
push 0x78
pop eax
mov word [ebx], dx
add ebx, edx
mov word [ebx], ax
add ebx, edx
mov word [ebx], dx
add eax, dword [ebx]
fisub dword [esi - 0x77]
adc eax, dword [ebx]
fucompp
mov edi, 0x8bfffff8
push ebp
aam 0x83
cli
invalid
add ebx, edx
jmp 0x417859
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x417fa8
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
push 4
mov dword [ebp - 0x28], ecx
pop ecx
movsx eax, al
push 0x30
mov dword [ebp - 0x7c], edi
and eax, ecx
pop edi
or eax, edi
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x10], ebx
shr eax, 2
mov word [ebx], ax
push 2
jmp 0x417856
mov ebx, dword [ebp - 0xe4]
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x417b6d
push 0x34
pop edi
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
push 0x10
pop edx
movzx eax, word [ecx]
cmp ax, dx
je 0x452fcc
push 0xf
pop edx
cmp ax, dx
je 0x452fcc
or dword [ebp - 0x1c], 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], edx
test eax, eax
je 0x418247
add dword [ebp - 0x14], edi
cmp dword [ebp - 0x5c], 0
jne 0x45300b
cmp eax, 0xffffffff
jne 0x452fdc
mov eax, dword [ebp - 0x14]
add eax, 0x21
mov ecx, dword [ebp - 0x10]
lea edi, [ecx + 2]
mov word [ecx], ax
mov dword [ebp - 8], edi
mov esi, dword [ebp - 0x1c]
push 2
pop eax
cmp dword [ebp - 0x44], 0
je 0x418071
test ebx, 0x10000000
jne 0x453153
mov word [edi], bx
mov ebx, dword [ebp - 8]
add ebx, eax
mov dword [ebp - 8], ebx
test edx, edx
jns 0x45317a
mov esi, dword [ebp - 4]
jmp 0x417e69
test edi, edi
jle 0x417e52
jmp 0x452bc6
cmp edi, 0x1a
je 0x45333a
cmp edi, 0x19
je 0x453a1f
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x4180c1
lea eax, [edi - 6]
cli
cmp eax, 0x10
ja 0x4180c1
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
push 0x1b
mov dword [ebp - 0x20], eax
pop eax
mov dword [ebp - 0x70], ecx
cmp edi, eax
je 0x453362
push 0x1c
pop eax
cmp edi, eax
je 0x453650
test edi, edi
js 0x418267
push 0xf
pop esi
cmp edi, esi
je 0x453a9a
push 0x10
pop eax
cmp edi, eax
je 0x453a9a
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x453a58
push 4
pop eax
add al, 0x58
cmp edi, eax
je 0x453a58
cmp edi, ecx
je 0x453a58
push 0x1d
pop eax
cmp edi, eax
jge 0x453a6c
mov ebx, dword [ebp - 8]
lea eax, [edi - 6]
push 0x10
pop ecx
cmp ecx, eax
sbb edx, edx
not edx
and edx, ebx
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0x10], edx
je 0x453a87
push 2
mov word [ebx], di
pop edx
jmp 0x417f93
lea ecx, [esi + 2]
cmp word [ecx], di
je 0x418271
push 3
mov edx, 0x48fbc0
call fcn.0041836a
pop ecx
test eax, eax
jne 0x4176ad
cmc
invalid
jmp 0x453b4c
add eax, dword [eax]
push dword [ebp - 0xc]
mov ebx, dword [ebp + 0x28]
lea edx, [ebp - 0x90]
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [ebx + 0x40]
push dword [ebp + 0xc]
call fcn.00418399
mov edx, dword [ebp + 0xc]
xor ecx, ecx
add esp, 0x10
les edx, [eax]
mov esi, eax
cmp dword [edx], ecx
jne 0x4182be
test esi, esi
jne 0x418280
mov ebx, dword [ebp - 0x90]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], ebx
jmp 0x41773d
test eax, eax
jns 0x4181ea
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xac], eax
mov eax, ecx
or eax, edi
mov dword [ebp - 0x94], eax
jmp 0x417ad2
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], eax
jmp 0x417ada
mov ebx, eax
mov dword [ebp - 8], ebx
jmp 0x417329
mov ebx, 0xff
jmp 0x451bf0
mov edx, dword [ebp - 0xc]
jmp 0x417c34
add esi, edx
mov dword [ebp - 4], esi
jmp 0x4524ed
mov ebx, 0x81
jmp 0x45250f
mov ebx, 0x83
jmp 0x453571
add esi, 2
jmp 0x452804
mov ebx, eax
mov dword [ebp - 8], ebx
jmp 0x417c12
mov ebx, dword [ebp - 8]
jmp 0x417c12
mov edx, dword [ebp - 0xc]
jmp 0x4179dd
mov ecx, dword [ebp - 0xc]
jmp 0x4179df
dec dword [eax + 0x5c]
jmp 0x417a54
mov edx, dword [ebp + 0x28]
neg edi
jmp 0x453787
mov esi, ecx
jmp 0x453b55
mov eax, dword [ebp - 0xc]
jmp 0x41767f
cmp esi, 5
jne 0x453e2a
push 8
pop ebx
jmp 0x4181c0
push 0x45
pop ebx
jmp 0x45409d
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x417776
push 0x20
xor eax, eax
pop ecx
jmp 0x45442f
push 9
jmp 0x454555
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
jmp 0x454586
mov esi, dword [ebp - 4]
jmp 0x454586
add al, byte [ebp + 0x6a5c74ff]
push dword [esp + ebx*2 + 0x6a]
xor byte [eax - 0x77], bl
inc ebp
cld
cmp edi, eax
jae 0x418409
test dword [ebp + 0x10], 0x20000000
jne 0x418446
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], edi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x7a
ja 0x4183ed
lea edx, [edi - 0x30]
mov dword [ebp - 0x14], 0x7b
movsx eax, word [edx*2 + 0x4a53b8]
mov dword [ebp - 8], eax
push ebp
mov eax, 0x89004a53
inc ebp
clc
test eax, eax
je 0x454719
jle 0x418431
mov edi, eax
jmp 0x4183ed
mov ebx, eax
neg ebx
cmp ebx, 0xc
jne 0x4183ed
jmp 0x454d09
lea ecx, [ebx - 6]
cmp ecx, 5
ja 0x4183f6
add ebx, 0x17
jmp 0x4183f6
push esp
das
dec edx
add byte [ebx], al
invalid
or al, 0xe9
dec ecx
push ebx
cld
invalid
push 0x24
pop eax
jmp 0x451c04
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
xor eax, eax
jmp 0x41711e
je 0x417577
push 0x76
pop eax
mov word [ebx], ax
mov edx, 0xff
lea eax, [ebx + 2]
mov dword [ebp - 0x80], ebx
mov word [eax], dx
mov dword [eax], edx
sub esi, dword [ecx + 0x18]
xor ecx, ecx
push 2
pop edx
add eax, edx
sar esi, 1
mov word [eax], si
mov word [eax + 2], cx
add eax, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
jmp 0x417577
cmp edi, ebx
ja 0x451d2b
mov eax, dword [ecx + 0xc]
push 2
pop edx
test byte [eax + edi], 1
je 0x451d28
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
cmp edi, ebx
jbe 0x451d16
mov dword [ebp - 0x24], edi
fsubr qword [edx + 0x23]
push 0x23
pop eax
cmp edi, eax
jne 0x451ddf
push 2
pop edx
jmp 0x451dcc
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x451d79
cmp esi, dword [ecx + 0x1c]
jae 0x451da9
push dword [ebp - 0x44]
lea eax, [ecx + 0x80]
push eax
push dword [ecx + 0x1c]
mov ecx, esi
call fcn.00415ffb
mov ecx, dword [ebp + 0x28]
add esp, 0xc
test eax, eax
je 0x451da9
mov eax, dword [ecx + 0x80]
lea esi, [esi + eax*2]
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov bh, 0x3e
jmp 0x451d0c
mov edx, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
mov ecx, dword [ebp + 0x28]
ja 0x451da9
cmp di, word [ecx + 0x84]
jne 0x451da9
cmp edx, dword [ebp - 0xc]
je 0x451d68
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x86]
je 0x451d68
push 2
pop edx
add esi, edx
cmp dword [ebp - 0x44], 0
mov dword [ebp - 4], esi
je 0x451dd1
mov ax, word [esi]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x451dd1
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
test di, di
jne 0x451d3e
jmp 0x451d74
mov ebx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x24], edi
jmp 0x4174df
push esp
pop esp
dec ebx
add byte [ebx], bh
iretd
invalid
fmul qword [ebx - 0x3cfc17b3]
mov dword [ebp - 0x38], eax
lea edx, [eax + 2]
call 0xc372622e
add eax, dword [eax]
pop ecx
test eax, eax
jne 0x452515
push eax
add ch, al
sub eax, 0x3c32d3d
add byte [ecx - 0x7b], bl
sal byte [ebp + 0xd], 0x8b
inc ebp
sub byte [esi + 0x47], al
or eax, 0x4628458b
mov eax, dword [ebp + 0x28]
inc esi
inc edi
cmp edi, dword [eax + 0x30]
mov eax, dword [ebp - 0x38]
jl 0x4524f0
xor byte [ebx - 0x248337bb], cl
cmp esi, dword [ebp - 0xc]
jle 0x452538
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], 3
inc word [edx + 4]
mov word [edx + 6], ax
inc edx
add al, 0x66
mov dword [edx + 6], eax
mov word [edx + 8], si
jmp 0x417a95
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 8]
jmp 0x452551
mov ecx, 0xffff
mov edx, dword [ebp - 8]
mov eax, 0x8f
mov word [edx + 4], ax
mov word [edx + 6], cx
jmp 0x417a95
inc ebp
call 0x66a477d3
cmp dword [eax], edi
jne 0x4525ad
mov ebx, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 0xc]
cmp ebx, 1
jle 0x452540
push 0x30
pop edi
movzx eax, word [eax + edx*2]
cmp ax, di
jb 0x4535ec
cmp ax, word [ebp - 0x88]
ja 0x4535ec
imul ecx, ecx, 0xa
add eax, 0xffffffd0
add ecx, eax
mov eax, dword [ebp - 0x18]
inc edx
cmp edx, ebx
jl 0x45257d
test ecx, ecx
jne 0x452545
jmp 0x452540
cmp dword [ebp - 0x24], 6
jne 0x4535ec
push 6
mov edx, 0x4b9ca0
mov ecx, eax
call fcn.0041848a
pop ecx
test eax, eax
jne 0x4535ec
ror byte [edi], 0x85
push ds
adc byte [eax], al
add byte [ebx - 0x6e4707ab], cl
add byte [eax], al
add byte [ebx - 0x76991ba3], cl
inc edx
add al, 0x8b
inc ebp
hlt
mov edx, dword [ebp - 8]
mov eax, 0x91
mov ebx, dword [ebp - 0x1c]
mov word [edx + 4], ax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x14], eax
jmp 0x417a9e
jge 0x4545d0
lea eax, [edx + 2]
cmp eax, dword [edi + 0x34]
jle 0x4527d3
push 0x20
mov dword [edi + 0x34], eax
pop eax
cmp edx, eax
jle 0x4527d3
pop es
push 0x30
jmp 0x454672
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov edi, dword [edi + 0x28]
mov ebx, eax
cmp dword [ecx + 0x30], eax
jle 0x45283f
cmp edx, dword [edi + 4]
jne 0x452826
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [edi]
call fcn.0048e8a9
pop ecx
test eax, eax
jne 0x452823
mov eax, dword [ebp - 0x38]
cmp dword [edi + 8], eax
je 0x45283c
test dword [ebp - 0x34], 0x80000
or byte [eax], al
je 0x4545bb
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x78], eax
mov edx, dword [ebp - 0x18]
inc ebx
add edi, 0xc
cmp ebx, dword [ecx + 0x30]
jl 0x4527e2
jmp 0x45283f
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x38]
cmp dword [edi + 8], eax
jne 0x452815
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x41
jmp 0x4546a6
mov ecx, dword [ebp + 0x28]
cmp ebx, dword [ecx + 0x30]
jl 0x4528bd
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x30], eax
jl 0x45288e
lea edi, [eax + eax]
imul eax, edi, 0xc
push eax
call dword [0x4a546c]
mov esi, eax
pop ecx
test esi, esi
je 0x4545c2
imul eax, dword [ebx + 0x38], 0xc
push eax
push dword [ebx + 0x28]
push esi
call fcn.00421120
add esp, 0xc
cmp dword [ebx + 0x38], 0x14
jle 0x452888
push dword [ebx + 0x28]
call dword [0x4a5468]
pop ecx
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x38], edi
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax], edx
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x18]
mov dword [ecx + eax + 4], edx
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x38]
mov dword [ecx + eax + 8], edx
inc dword [ebx + 0x30]
mov esi, dword [ebp - 4]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x417a7e
add cl, byte [ecx - 0x6af00fbb]
rol byte [ebx + 0xbe919c0], 0x58
cld
inc dword [ebp - 0x777bf037]
dec esp
cld
invalid
push dword [ebp + 0xc]
lea eax, [ebp - 0x58]
push eax
lea ecx, [esi + 2]
lea edx, [ebp - 0x5c]
call fcn.0048e56b
mov esi, eax
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 4], esi
cmp dword [eax], ecx
jne 0x4546a6
mov edi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
jmp 0x417c24
push 2
pop edx
movzx eax, word [esi]
mov edi, 0xff
mov ebx, dword [ebp + 0x28]
cmp ax, di
ja 0x45294d
mov ecx, dword [ebx + 0xc]
movzx eax, ax
test byte [eax + ecx], 1
je 0x45294d
add esi, edx
movzx eax, word [esi]
cmp ax, di
jbe 0x45293a
push 0x23
pop eax
cmp word [esi], ax
je 0x4529e9
mov edi, dword [ebp - 0x58]
add esi, 0xfffffffe
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 4], esi
jmp 0x417c69
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x45299c
cmp esi, dword [ebx + 0x1c]
jae 0x4529c9
sbb al, 0x73
push ebx
push dword [ebp - 0x44]
lea eax, [ebx + 0x80]
mov ecx, esi
push eax
push dword [ebx + 0x1c]
call fcn.00415fff
add esp, 0xc
test eax, eax
je 0x4529c9
cmp byte [ebx + 0x8083], cl
add byte [ebp - 0x7714b9cc], cl
mov eax, dword [ebx + 0x80]
lea esi, [esi + eax*2]
jmp 0x452924
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4529c9
cmp di, word [ebx + 0x84]
test byte [eax], al
add byte [eax], al
jne 0x4529c9
cmp edx, dword [ebp - 0xc]
je 0x452991
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x86]
je 0x452991
push 2
pop edx
add esi, edx
cmp dword [ebp - 0x44], 0
je 0x4529eb
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4529eb
add esi, edx
movzx edi, word [esi]
test di, di
jne 0x45296a
jmp 0x452927
pushfd
push esi
std
inc dword [ebx - 0x7cf707bb]
les ecx, [ebx + eax*4]
jge 0x452a5a
add byte [eax + 0x81], bh
mov word [esi], ax
push 4
pop eax
push 0x78
pop ecx
mov word [esi + 2], ax
mov word [esi + 8], cx
mov word [esi + 0xa], ax
mov dword [ebp - 0x84], 6
jne 0x452a85
mov eax, dword [ebp + 0x28]
push 2
pop edx
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add eax, edx
cmp ecx, eax
jb 0x452a85
movzx edx, word [ecx - 2]
mov eax, esi
mov esi, dword [ebp + 0x28]
push 2
sub eax, dword [esi + 0x14]
pop esi
add eax, esi
sar eax, 1
cmp edx, eax
jne 0x452a85
invalid
lea eax, [edx + 2]
mov word [ecx - 2], ax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 4]
jmp 0x417c9f
mov eax, 0x75ffc033
sub byte [esi - 0x77], ah
add ecx, dword [ebx + 0x6a52b04d]
add bl, byte [eax - 0x75]
shr al, 1
pushfd
pop esp
cld
inc dword [ebx + 0x48d0cc4]
aas
push eax
mov eax, dword [ebp - 0x50]
push eax
add eax, 4
push eax
call fcn.004280c0
add esp, 0xc
push 4
pop eax
add ebx, eax
mov eax, dword [ebp - 0x50]
push 2
pop ecx
push 0x78
add edi, ecx
lea edx, [ecx + 0x7f]
mov word [eax], dx
pop eax
mov word [ebx], ax
add ebx, ecx
mov word [ebx], di
add ebx, ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 8], ebx
mov word [eax + 2], di
mov esi, dword [ebp - 4]
cld
jmp 0x417d32
invalid
jg 0x452bd7
xchg dword [eax], ebp
sbb al, byte [eax]
add byte [ebx - 0x1447f7], cl
invalid
invalid
jge 0x452bc3
cmp edx, edi
jle 0x452cd4
add ebx, ebx
mov dword [ebp - 0x54], ebx
jmp 0x452c21
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x28]
push ebx
push dword [ebp - 0x10]
mov esi, dword [ecx + 0x20]
push eax
call fcn.00421120
mov eax, dword [ebp + 0x28]
add esp, 0xc
mov edx, dword [eax + 0x10]
jmp 0x452c6e
mov eax, dword [ebp - 0x48]
sub esi, edx
sub eax, edx
sar esi, 1
sar eax, 1
mov dword [ebp - 0x48], eax
call fcn.0048dfad
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x4183de
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax + 0x10]
lea ecx, [edx + ecx*2]
mov dword [ebp - 0x48], ecx
lea esi, [edx + esi*2]
mov eax, dword [eax + 0x3c]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
ja 0x452c3c
cmp dword [ebp - 0x48], esi
jae 0x452cb3
mov edx, dword [ebp - 0x18]
mov ebx, ecx
mov edi, dword [ebp - 0x48]
mov cx, word [edi]
mov eax, dword [ebx + 0x20]
add cx, dx
push 2
mov word [eax], cx
pop eax
add dword [ebx + 0x20], eax
add edi, eax
cmp edi, esi
jb 0x452c95
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], edi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edi, edx
jl 0x452c1e
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0x58]
test edi, edi
jle 0x417f61
sub edi, edx
jmp 0x417f5c
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
add ebx, 0x92
mov dword [ebp - 0x54], ebx
lea ecx, [eax + eax]
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp + 0x28]
push 2
mov esi, dword [eax + 0x20]
pop eax
mov word [edx], bx
add edx, eax
mov dword [ebp - 8], edx
test edi, edi
je 0x452d8d
mov eax, 0x83
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x452d75
xor eax, eax
jmp 0x452d7c
shr bl, 7
mov eax, dword [ebp - 8]
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 8]
push 2
mov dword [ebp - 0x24], edx
mov word [edx], ax
pop eax
add edx, eax
mov dword [ebp - 8], edx
push ecx
push dword [ebp - 0x10]
push edx
call fcn.00421120
mov eax, dword [ebp + 0x28]
add esp, 0xc
mov edx, dword [eax + 0x10]
jmp 0x452dd4
mov eax, dword [ebp - 0x48]
sub esi, edx
sub eax, edx
sar esi, 1
sar eax, 1
mov dword [ebp - 0x48], eax
call fcn.0048dfad
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x4183de
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax + 0x10]
lea ecx, [edx + ecx*2]
mov dword [ebp - 0x48], ecx
lea esi, [edx + esi*2]
mov eax, dword [eax + 0x3c]
mov ecx, esi
sub ecx, dword [ebp - 0x48]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebp + 0x28]
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp dword [ecx + 0x20], eax
ja 0x452da2
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
jae 0x452e2d
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp + 0x28]
mov cx, word [ecx]
xor eax, eax
test edi, edi
push 2
setne al
add cx, dx
lea eax, [eax*2 + 1]
add cx, ax
mov eax, dword [ebx + 0x20]
mov word [eax], cx
mov ecx, dword [ebp - 0x48]
pop eax
add dword [ebx + 0x20], eax
add ecx, eax
mov dword [ebp - 0x48], ecx
cmp ecx, esi
jb 0x452dfb
mov ebx, dword [ebp - 0x54]
dec edi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x48], esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
jns 0x452d45
mov esi, dword [ebp - 4]
xor edi, edi
jmp 0x417f7e
mov word [edi], ax
movzx ebx, word [edi]
cmp bx, dx
je 0x452fd7
cmp bx, si
je 0x452fd7
cmp dword [ebp + 0x2c], 0
jne 0x452f16
mov esi, edi
xor eax, eax
mov edx, ecx
push eax
push dword [ebp + 0x28]
mov ecx, esi
push dword [ebp - 0x44]
call fcn.00418573
mov ecx, dword [ebp - 0x30]
add esp, 0xc
test eax, eax
jne 0x452f10
jl 0x452f4b
cld
dec dword [ebx - 0x3b7c2fb3]
or al, 0x85
sal byte [ebp + 0xf], 0xf
mov bh, 0x46
add cl, byte [ebp - 0x7c99b9cc]
ja 0x452f82
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
cmp word [esi], 0x77
jne 0x452f16
or bl, ch
aad 0x8d
inc ebx
add eax, 0x83078966
jge 0x452ee1
jmp 0x452ee5
lea eax, [ebx + 5]
mov word [edi], ax
cmp dword [ebp - 0x38], 0
je 0x726c4d
add byte [edi], cl
test byte [0x2d3d], ch
add byte [edi], cl
mov bh, 7
add byte [eax], al
movzx eax, word [edi]
mov edx, 0x87
cmp ax, dx
je 0x452f46
add edx, 5
cmp ax, dx
je 0x452f46
inc eax
push 0x7b
mov word [edi], ax
pop eax
push 2
mov word [ecx], ax
pop edx
jmp 0x452fa3
push dword [ebp - 0x48]
mov ebx, dword [ebp - 8]
clc
xor eax, eax
push dword [ebp + 0x28]
mov esi, ebx
mov ecx, edi
push dword [ebp - 0x44]
mov word [ebx], ax
sub esi, edi
push 2
pop eax
mov edx, eax
sar esi, 1
call fcn.00418795
add esp, 0xc
lea eax, [esi + esi]
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.004280c2
add esp, 0xc
push 4
pop eax
add ebx, eax
mov eax, 0x84
push 2
pop edx
mov word [edi], ax
add esi, edx
push 0x7b
pop eax
mov word [ebx], ax
add ebx, edx
mov word [ebx], si
add ebx, edx
mov dword [ebp - 8], ebx
mov word [edi + 2], si
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x452fb2
mov ecx, 0x94
mov word [eax], cx
cmp dword [ebp - 0x5c], edx
jge 0x4181a6
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x417f8d
sar byte [ecx + 0x66], 0x89
add dword [ebx - 0x6f16038b], ecx
push ebx
cld
dec dword [ebx - 0x3f7c13bb]
jns 0x453046
add eax, 0x79
mov word [ecx], ax
mov dword [ecx], eax
jmp 0x4181a6
jne 0x453015
lea eax, [ebx + 0x64]
jmp 0x417d17
lea eax, [ebx + 0x68]
mov ebx, dword [ebp - 8]
push 2
mov word [ebx], ax
pop eax
add ebx, eax
push eax
lea eax, [edi + 1]
mov word [ebx], dx
pop edx
add ebx, edx
neg eax
sbb eax, eax
and eax, edi
mov dword [ebp - 0x58], eax
jmp 0x417d1d
or ecx, dword [eax + 0x74]
add al, 0x33
shr bl, 0xc
push 0x27
jmp 0x453059
pop eax
mov edi, eax
cmp dword [ebp - 0x44], 0
mov ebx, dword [ebp - 8]
je 0x4530bb
lea edx, [ebx - 2]
mov ax, word [edx]
and ax, word [ebp - 0x100]
cmp ax, word [ebp - 0x108]
jne 0x4530bb
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x453095
push 2
pop eax
sub edx, eax
sub ebx, edx
sar ebx, 1
lea eax, [ebx + ebx]
push eax
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.00421122
mov esi, dword [ebp - 4]
add esp, 0xc
or ebx, 0x10000000
jmp 0x418117
movzx ebx, word [ebx - 2]
push 0x1e
pop eax
cmp cx, ax
ja 0x418117
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x5c], eax
jle 0x418117
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x64], ebx
mov eax, dword [eax + 0x68]
or eax, dword [ebp - 0x8c]
mov dword [ebp - 0x60], eax
jmp 0x418117
jns 0x453157
mov esi, dword [ebp - 0x1c]
add eax, 0x27
mov word [ecx], ax
in al, 0x83
shl byte [edi], 0x66
mov dword [ecx], eax
mov eax, dword [ebp - 0x58]
dec eax
mov word [edi], ax
push 2
pop eax
add edi, eax
mov dword [ebp - 8], edi
jmp 0x418181
pop esi
mov word [ecx], ax
lea edi, [ecx + 2]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov word [edi], ax
add edi, esi
mov dword [ebp - 8], edi
test ecx, ecx
jns 0x4531eb
cmp dword [ebp - 0x44], 0
je 0x4531d0
test ebx, 0x10000000
je 0x4531d0
mov esi, ebx
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x184]
push eax
push edi
call fcn.00421122
mov edx, dword [ebp - 0x18]
lea edi, [edi + esi*2]
add esp, 0xc
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add eax, 0x21
push 2
jmp 0x453259
mov word [edi], bx
add edi, esi
test edx, edx
js 0x4531c0
mov word [edi], dx
add edi, esi
mov esi, dword [ebp - 0x1c]
push 2
pop eax
mov word [edi], si
add edi, eax
jmp 0x4531c3
cmp ecx, eax
je 0x41817b
cmp dword [ebp - 0x44], 0
je 0x45322b
test ebx, 0x10000000
je 0x45322b
mov esi, ebx
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x184]
push eax
push edi
call fcn.00421122
mov edx, dword [ebp - 0x18]
lea edi, [edi + esi*2]
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov eax, dword [ebp - 0x5c]
push 2
pop esi
jmp 0x453230
mov word [edi], bx
add edi, esi
test edx, edx
js 0x453244
mov word [edi], dx
add edi, esi
mov esi, dword [ebp - 0x1c]
mov word [edi], si
add edi, 2
jmp 0x453247
mov esi, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x58], ecx
push 2
cmp ecx, dword [ebp - 0xc]
jne 0x45325f
add eax, 0x25
mov word [edi], ax
pop eax
jmp 0x45326b
add eax, 0x27
mov word [edi], ax
pop eax
add edi, eax
mov word [edi], cx
add edi, eax
mov dword [ebp - 8], edi
jmp 0x418181
add cl, byte [edi - 4]
jmp dword [esi - 0x77]
cmp ecx, eax
jl 0x45337f
push 0x20
pop eax
cmp ecx, eax
jle 0x4532e2
push 0x29
pop eax
cmp ecx, eax
je 0x4532e2
cmp ecx, 0x36
je 0x4532e2
push 0x43
pop eax
cmp ecx, eax
jne 0x45337f
movzx eax, byte [ecx + 0x4a5470]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x44]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x50], ecx
test edx, edx
je 0x453382
mov ax, word [ecx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
cmp ax, cx
sar dword [ecx + 0xd800], 0x66
cmp eax, ecx
jne 0x453382
push 2
pop eax
add dword [ebp - 0x50], eax
jmp 0x453382
mov al, 0x8b
inc ebp
mov al, 0xf
mov bh, 0x49
add cl, byte [ebp + 0x45894804]
mov al, 0xeb
cmp byte [ebx - 0x14dd4fbb], al
das
mov eax, dword [ebp - 0x50]
movzx eax, word [eax + 4]
cmp ax, word [ebp - 0x110]
je 0x45336b
cmp ax, word [ebp - 0x118]
mov eax, edi
jne 0x45336d
test eax, ebp
invalid
mov eax, edx
movzx ecx, byte [ecx + 0x4a5470]
add ecx, eax
mov eax, dword [ebp - 0x50]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
mov edi, ebx
sub edi, ecx
sar edi, 1
test edi, edi
jle 0x417d34
movzx eax, word [ecx]
push 0x76
pop esi
cmp eax, esi
jae 0x452ae0
mov al, byte [eax + 0x4b6e20]
test al, al
je 0x452ae0
movzx eax, al
mov word [ecx], ax
jmp 0x452b3a
mov ecx, ebx
lea edx, [ebp - 0xf4]
call fcn.0048eddd
mov di, word [ebp - 0xf4]
mov ebx, eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x24], edi
jmp 0x4175a3
cmp eax, ecx
jb 0x4534dc
cmp eax, 0x39
jbe 0x4534ea
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
jmp 0x4537cf
lea ecx, [esi + 4]
movzx eax, word [ecx]
push 0x30
pop edi
cmp ax, di
jb 0x453511
push 2
pop edx
cmp ax, word [ebp - 0x88]
ja 0x45350e
add ecx, edx
movzx eax, word [ecx]
cmp ax, di
jae 0x4534fb
mov edx, dword [ebp - 0x54]
cmp word [ecx], bx
je 0x453523
mov eax, dword [ebp + 0xc]
push 0x39
pop ecx
mov dword [eax], ecx
jmp 0x417bfc
or cl, ch
fld dword [esi - 4]
dec dword [ebx - 0x38a760e]
mov esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
push 0x2b
mov edx, edi
pop eax
mov dword [ebp - 0x54], edx
cmp edx, eax
jne 0x453559
push 2
pop eax
add esi, eax
push 0x30
mov dword [ebp - 4], esi
pop edi
movzx eax, word [esi]
cmp ax, di
jb 0x453552
push 0x39
pop ecx
cmp ax, cx
cmp dword [ecx + 0x66], ebx
cmp eax, ecx
jbe 0x453584
push 0x3f
jmp 0x454674
push 0x2d
pop eax
cmp edx, eax
jne 0x453584
movzx eax, word [esi + 2]
cmp ax, word [ebp - 0xb0]
jb 0x417db2
inc esi
add ah, byte [esi + 0x3b]
test dword [eax - 1], edx
invalid
cmp ax, word [ebp - 0x88]
ja 0x417db2
xchg dword [eax + ecx*2], esi
cld
inc dword [ebx + 0x758902c6]
cld
add esi, 2
mov dword [ebp - 4], esi
xor eax, eax
push 0x30
mov edi, eax
movzx eax, word [esi]
pop ecx
cmp ax, cx
jb 0x4535bf
sub al, 0x6a
add bl, byte [edx + 0x6a]
cmp dword [ebx + 0x66], ebx
cmp eax, ebx
push 2
pop edx
push 0x39
pop ebx
cmp ax, bx
ja 0x4535b9
imul ecx, edi, 0xa
add esi, edx
movzx edi, ax
push 0x30
mov dword [ebp - 4], esi
movzx eax, word [esi]
add ecx, 0xffffffd0
add edi, ecx
pop ecx
cmp ax, cx
jae 0x453599
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x68]
cmp word [esi], bx
jne 0x454640
push 0x2d
pop eax
cmp edx, eax
jne 0x453754
test edi, edi
je 0x45463c
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x40]
sub eax, edi
lea edi, [eax + 1]
test edi, edi
jg 0x453a2a
add byte [eax], al
push 0xf
jmp 0x454674
je 0x453637
cmp eax, 0x4a
je 0x453622
cmp eax, 0x55
je 0x453617
cmp eax, 0x58
jne 0x454605
or dword [ecx], 0x40
jmp 0x417df0
or dword [ecx], 0x200
jmp 0x417df0
mov eax, dword [ebp + 0x28]
or dword [ecx], 0x80000
or dword [eax + 0x64], 0x400
jmp 0x417df0
lea ecx, [ebp - 0x38]
jmp 0x417df0
jne 0x454605
or dword [ecx], 8
jmp 0x417df0
push 0x2b
pop eax
cmp edx, eax
jne 0x453a27
test edi, edi
je 0x45463c
mov edx, dword [ebp + 0x28]
add edi, dword [edx + 0x40]
jmp 0x453a2a
push dword [ebx + edx + 0x66]
cmp eax, dword [ebp - 0x128]
je 0x45379d
push 0x45
pop eax
mov dword [edx], eax
jmp 0x417bfc
add esi, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp ax, di
jne 0x4537b5
push 0x3e
pop eax
mov ebx, eax
jmp 0x4537c9
push 0x27
xor ebx, ebx
pop ecx
cmp ax, cx
push 0x7d
setne bl
dec ebx
and ebx, 0xffffffaa
pop eax
add ebx, eax
mov edi, dword [ebp + 0x28]
push 0x30
pop ecx
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x4c], esi
movzx eax, word [esi]
cmp ax, cx
jb 0x4537f8
push 0x39
pop ecx
cmp ax, cx
ja 0x4537f8
mov dword [edx], 0x54
jmp 0x4546a8
mov ecx, 0xff
cmp ax, cx
ja 0x453829
mov ecx, dword [edi + 0xc]
mov edi, 0xff
push 2
pop edx
movzx eax, ax
test byte [eax + ecx], 0x10
je 0x453823
add esi, edx
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp ax, di
jbe 0x45380d
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x4c]
mov edi, esi
mov ecx, dword [ebp + 0x2c]
sub edi, eax
sar edi, 1
test ecx, ecx
je 0x4538fa
test edi, edi
je 0x45464c
cmp word [esi], bx
jne 0x454648
push 0x20
pop ecx
cmp edi, ecx
jg 0x454644
mov edx, dword [ebp + 0x28]
xor ecx, ecx
mov ebx, ecx
mov esi, dword [edx + 0x28]
cmp dword [edx + 0x30], ecx
jle 0x45388d
cmp edi, dword [esi + 4]
jne 0x453882
mov edx, dword [esi]
mov ecx, eax
push edi
call fcn.0048e8ab
mov edx, dword [ebp + 0x28]
pop ecx
test eax, eax
je 0x45388b
mov eax, dword [ebp - 0x4c]
inc ebx
add esi, 0xc
cmp ebx, dword [edx + 0x30]
jl 0x453868
xor ecx, ecx
cmp ebx, dword [edx + 0x30]
jge 0x453897
mov edi, dword [esi + 8]
jmp 0x453899
mov edi, ecx
cmp dword [ebp - 0x18], 0
jne 0x453a2a
inc dword [edx + 0x54]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
cmp ecx, 0xfffffffe
jne 0x4538b5
or dword [ebp - 0x2c], 0xffffffff
test byte [ebp - 0x34], al
mov ebx, dword [ebp - 8]
push 0
pop eax
setne al
mov dword [ebp - 0x10], ebx
push 0x71
pop ecx
add eax, ecx
mov word [ebx], ax
push 2
pop eax
add ebx, eax
push 0x20
mov word [ebx], di
add ebx, eax
pop eax
cmp edi, eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
jge 0x4538e7
mov ecx, edi
shl eax, cl
or dword [edx + 0x50], eax
cmp edi, dword [edx + 0x4c]
jle 0x4538f2
mov dword [edx + 0x4c], edi
mov ecx, dword [edx + 0x24]
jmp 0x453b65
mov edx, dword [ebp + 0x28]
xor ebx, ebx
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x38], ecx
cmp ebx, dword [edx + 0x30]
jge 0x4535ee
mov esi, ecx
push edi
lea edx, [esi + 2]
mov ecx, eax
call fcn.0048e8ab
pop ecx
test eax, eax
jne 0x45392c
cmp word [esi + edi*2 + 2], ax
jne 0x45392c
mov edx, dword [ebp + 0x28]
jmp 0x45393e
mov edx, dword [ebp + 0x28]
inc ebx
mov eax, dword [edx + 0x34]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x4c]
cmp ebx, dword [edx + 0x30]
jl 0x453910
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
cmp ebx, dword [edx + 0x30]
jge 0x4535ee
cmp dword [ebp - 0x18], 0
movzx edi, word [ecx]
mov dword [ebp - 0x54], edi
jne 0x453a2a
xor eax, eax
cmp dword [edx + 0x78], eax
je 0x4538a6
mov eax, dword [edx + 0x34]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x78], ebx
inc ebx
lea edx, [ecx + eax*2]
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x30], edx
cmp ebx, dword [eax + 0x30]
jge 0x453b49
lea edi, [ecx + 2]
add edx, 2
mov ecx, edi
call fcn.0048e87b
mov edx, dword [ebp - 0x30]
test eax, eax
jne 0x4539ae
mov ecx, dword [ebp + 0x28]
inc esi
inc ebx
mov eax, dword [ecx + 0x34]
lea edx, [edx + eax*2]
mov dword [ebp - 0x30], edx
cmp ebx, dword [ecx + 0x30]
jl 0x45398a
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0x54]
cmp esi, eax
jle 0x453b50
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x4539c6
or dword [ebp - 0x2c], 0xffffffff
test byte [ebp - 0x34], al
mov ebx, dword [ebp - 8]
push 0
pop eax
setne al
mov dword [ebp - 0x10], ebx
push 0x73
pop ecx
add eax, ecx
mov word [ebx], ax
mov eax, dword [ebp - 0x78]
push 2
pop ecx
add ebx, ecx
mov word [ebx], ax
add ebx, ecx
mov word [ebx], si
add ebx, ecx
mov esi, dword [ebp - 0x38]
mov dword [ebp - 8], ebx
cmp esi, edx
jae 0x417699
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x28]
movzx edx, word [esi]
push 0x20
pop eax
cmp edx, eax
mov eax, dword [ebp - 0xc]
jge 0x453a14
mov ecx, edx
shl eax, cl
or dword [ebx + 0x50], eax
cmp edx, dword [ebx + 0x4c]
jle 0x453a1f
mov dword [ebx + 0x4c], edx
mov ecx, dword [ebx + 0x24]
jmp 0x453b1c
mov edx, dword [ebp + 0x28]
cmp dword [ebp + 0x2c], 0
mov ebx, dword [ebp - 8]
mov esi, dword [edx + 0x14]
mov dword [ebp - 0x10], ebx
jne 0x453ada
xor eax, eax
mov word [ebx], ax
test edi, edi
je 0x453a5b
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 0x44]
push edi
mov ecx, dword [eax + 0x14]
call fcn.0048da0f
mov edx, dword [ebp + 0x28]
mov esi, eax
pop ecx
test esi, esi
jne 0x453aaf
cmp edi, dword [edx + 0x44]
jg 0x454653
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x3c]
lea esi, [eax + edi*2]
dec edx
cmp al, 0x8d
xor al, 0x78
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [edx + 0x20], eax
jb 0x453a98
mov ecx, edx
call fcn.0048dfaf
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
add byte [ebx + 0x1890c4d], cl
test eax, eax
jne 0x4183e0
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x20]
mov ecx, ebx
sub ecx, dword [edx + 0x14]
and byte [ebx + 0x144a2bcb], cl
push 2
pop edi
add ecx, edi
sar ecx, 1
mov word [eax], cx
add dword [edx + 0x20], edi
jmp 0x453ada
xor eax, eax
cmp word [esi + 2], ax
jne 0x453ada
cmp dword [ebp + 0x24], eax
jg 0x453ada
push edx
push dword [ebp - 0x44]
mov edx, ebx
mov ecx, esi
push dword [ebp + 0x20]
call fcn.0048df71
add esp, 0xc
test eax, eax
jne 0x454660
mov edx, dword [ebp + 0x28]
push 0x75
pop eax
mov word [ebx], ax
sub esi, dword [edx + 0x14]
xor edx, edx
sar esi, 1
push 4
pop eax
mov word [ebx + 2], si
add ebx, eax
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], ebx
mov dword [ebp - 0x9c], edx
jne 0x417699
dec dword [edi]
test dword [esi - 0x140003c5], edx
add al, 0x83
jmp 0x453b09
dec ebp
nop
inc dword [ebx - 0x16002bb3]
xchg dword [ebx], edi
cld
dec dword [edi]
mov bh, 0x41
add al, 0x3b
ret 0x874
or dword [ebp - 0x2c], 0xffffffff
jmp 0x417699
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x453b22
mov ecx, dword [ecx]
test ecx, ecx
jne 0x453b12
jmp 0x453b29
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
mov eax, dword [ebx + 0x34]
lea esi, [esi + eax*2]
cmp esi, edi
jb 0x453a03
jmp 0x453b41
mov ebx, dword [ebp - 8]
jmp 0x417699
mov edx, eax
jmp 0x4538a6
push esi
std
invalid
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x2c]
jmp 0x4538ac
aam 0xe9
push ecx
std
invalid
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x453b6e
inc ecx
add al, 0x3b
invalid
mov ecx, dword [ecx]
test ecx, ecx
jne 0x453b5b
jmp 0x417699
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
jmp 0x417699
ret 0xe902
add esp, 0xc
test eax, eax
je 0x4183e0
mov ebx, dword [ebp - 8]
xor eax, eax
push 0x10
pop ecx
cmp edi, ecx
mov dword [ebp - 0x10], ebx
push 2
sete al
xor ecx, ecx
add cl, byte [edi]
xchg esp, eax
sal byte [ebx], 0xc9
cmp eax, dword [ebp - 0x130]
mov ax, word [ebp - 0x68]
setne cl
add ecx, esi
mov word [ebx], cx
pop edx
add ebx, edx
mov word [ebx], ax
add ebx, edx
mov ax, word [ebp - 0x4c]
mov word [ebx], ax
jmp 0x4180b5
push esi
push cs
mov esi, 0x4b5ddc
jmp 0x453c30
push 2
pop ebx
sub esi, ebx
mov dword [ebp - 0x40], edx
mov ebx, dword [ebp - 8]
jmp 0x41769f
add ch, byte [edx + 0xb]
pop ecx
mov esi, dword [ebp - 0x74]
xor eax, eax
test edi, edi
mov edi, dword [ebp - 0x14]
setne al
add eax, 3
mov word [edi], ax
add edi, edx
xor eax, eax
mov word [edi], cx
add edi, edx
mov ecx, dword [ebp - 0x20]
mov word [edi], ax
add edi, edx
mov eax, dword [ebp - 0xc]
add esi, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x4c], eax
jmp 0x4178d6
xor bh, bh
invalid
cwde
push eax
lea edx, [ebp - 0x138]
call fcn.0048e3dd
add esp, 0xc
test eax, eax
je 0x4183e0
or al, 0x85
ror byte [edi], 0x84
or eax, dword [ebx - 4]
dec dword [ebx - 0x3fcc1383]
mov edi, dword [ebp - 0x14]
xor eax, eax
push 0x10
pop ecx
cmp esi, ecx
push 2
sete al
xor ecx, ecx
cmp eax, dword [ebp - 0x138]
mov ax, word [ebp - 0x68]
sete cl
add ecx, 3
mov word [edi], cx
pop ecx
add edi, ecx
mov word [edi], ax
add edi, ecx
mov ax, word [ebp - 0x4c]
mov word [edi], ax
add edi, ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
dec ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x4c], eax
jmp 0x4178d0
xchg dh, ch
std
invalid
stc
cld
jmp [edx - 1]
mov ecx, dword [ebp - 0x20]
jmp 0x4178d3
add cl, ch
xchg esi, eax
cld
jmp [edx + 0x5c]
cmp word [esi + 2], di
jne 0x454204
add dh, byte [ebp + 0xa]
add esi, eax
mov dword [ebp - 4], esi
cmp word [esi], dx
je 0x4541f4
cmp word [esi], dx
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x3c]
jne 0x417fb7
cmp word [esi + 2], 0x51
jne 0x417fb7
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
jne 0x454252
push 0x45
pop eax
cmp word [esi + 2], ax
push 4
pop eax
jne 0x454252
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x454216
jmp 0x417fb7
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x3c], edi
jmp 0x417fb7
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x45433d
mov esi, ebx
xor ebx, ebx
mov dword [ebp - 0x40], ebx
push 2
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x4178f5
test dword [eax - 0x740003cb], edi
inc ebp
or al, 0xc7
add byte [esi], al
add byte [eax], al
add cl, ch
mov eax, dword [ebp + 0xc]
mov dword [eax], 6
jmp 0x4546a8
pop ebp
add eax, dword [eax]
add byte [ebx - 0xefc63bb], cl
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x454421
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x454375
push ebp
aam 0x83
cli
invalid
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x6c]
xchg esp, eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x70], edx
test esi, esi
je 0x4543dc
test al, cl
je 0x4543de
mov eax, ebx
mov edi, 0x80
cdq
idiv edi
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f53]
test eax, eax
je 0x4543d9
mov ebx, dword [ebp - 8]
push 0xf
pop ecx
push 2
mov word [ebx], cx
pop ecx
add ebx, ecx
push 9
pop edx
mov word [ebx], dx
add ebx, ecx
mov word [ebx], ax
add ebx, ecx
jmp 0x41797b
mov eax, dword [ebp - 0xc]
test al, cl
push 0
pop eax
push 0x1f
pop ecx
setne al
add eax, ecx
mov ecx, dword [ebp - 8]
push 2
pop edx
mov word [ecx], ax
add ecx, edx
mov dword [ebp - 8], ecx
test esi, esi
je 0x454416
cmp ebx, 0xffff
jbe 0x454416
mov edx, ecx
mov ecx, ebx
call fcn.0048eddd
mov ebx, edx
lea ebx, [ebx + eax*2]
jmp 0x41797b
mov word [ecx], bx
mov ebx, dword [ebp - 8]
jmp 0x4180b5
cmp dword [ebp - 0x44], 0
je 0x454433
cmp ebx, 0xffff
ja 0x45343b
or al, dh
invalid
mov di, bx
jmp 0x417a20
test ebx, ebx
je 0x4544df
or eax, 4
mov word [edx], ax
test ecx, ecx
jle 0x45453a
push 2
pop eax
or word [edx], ax
add edx, eax
mov eax, edi
mov dword [ebp - 8], edx
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
lea eax, [edx + 0x20]
push eax
call fcn.004280c2
add esp, 0xc
test esi, esi
je 0x45451c
test ebx, ebx
jne 0x45451c
push 0x20
xor eax, eax
pop ecx
not byte [ebp + eax - 0xd0]
inc eax
cmp eax, ecx
jb 0x454510
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 8]
call fcn.00421122
lea ebx, [edi + 0x20]
add esp, 0xc
mov dword [ebp - 8], ebx
jmp 0x45453f
mov ebx, edi
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x10]
mov eax, ebx
sub eax, ecx
sar eax, 1
mov word [ecx + 2], ax
jmp 0x417699
invalid
cmp eax, dword [eax]
add byte [eax], al
jmp 0x4546a8
add byte [ebx + 0xc70c45], cl
inc edx
add byte [eax], al
add cl, ch
sbb al, 1
add byte [eax], al
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x54
jmp 0x4546a8
add byte [eax], al
push 0x2b
jmp 0x454674
add byte [eax], al
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x15
jmp 0x4183e0
cld
dec dword [ebx + 0xc70c45]
xor dword [eax], eax
add byte [eax], al
jmp 0x4546a8
mov eax, dword [ebp + 0xc]
sub esi, edx
mov dword [eax], 0xc
jmp 0x4546a8
push 0x3a
jmp 0x454674
push 0x1d
jmp 0x454674
push 0x30
jmp 0x45464e
push 0x2a
jmp 0x45464e
push 0x3e
pop eax
mov dword [edx], eax
jmp 0x4546a8
mov eax, dword [ebp + 0xc]
push 0xf
pop ecx
mov dword [eax], ecx
jmp 0x4183e0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x28
jmp 0x4183e0
push 0x1f
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x4546a8
add byte [eax], al
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x417731
lea eax, [ebp - 0x14]
mov edx, edi
push eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x18]
call fcn.0048e321
pop ecx
pop ecx
test eax, eax
js 0x45478f
jle 0x454704
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x10]
lea eax, [eax*4 + 0x4a42f0]
mov ecx, dword [ebp - 8]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048db60
jmp 0x454745
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
cmp edx, esi
jb 0x454724
cmp ecx, edi
jbe 0x4546c8
cmp ecx, edi
jbe 0x454732
lea eax, [edi + 1]
cmp edx, eax
ja 0x454732
mov edi, ecx
mov dword [ebp + 0x14], edi
jmp 0x4546c8
lea eax, [esi - 1]
cmp ecx, eax
jb 0x454712
mov esi, edx
mov dword [ebp - 0xc], esi
jmp 0x4546c8
push ecx
mov ecx, dword [ebp - 8]
push edx
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
push dword [ebp + 8]
call 0x4183e8
add esp, 0x10
add ebx, eax
jmp 0x4546c8
mov eax, dword [ebp + 8]
jmp 0x41841b
push esi
add byte [eax + 0x8004b6b], 0xf
test dl, bh
aaa
cld
dec dword [edi]
mov bh, 0x46
or byte [esi + 0x3b], ah
ror dword [edi], 0x87
in eax, dx
aaa
cld
push esi
add byte [eax + 0x8004b6b], 0xf
test al, ah
aaa
cld
jmp [edx + 0x37]