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

Disassembly:
fadd qword [0x4c81c0]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fxch st(1)
mov eax, dword [ebp - 0x14]
fadd st(0), st(0)
pop edi
pop esi
pop ebx
fdiv st(1)
fild dword [ebp - 0xc]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd st(0), st(0)
fdivrp st(2)
fild dword [eax + 4]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fld qword [0x4b10e0]
fdiv st(1), st(0)
fild dword [eax + 8]
fstp qword [ebp - 0x18]
fdivr qword [ebp - 0x18]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x419e67
pop ebp
invalid
fxch st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x45783c
fxch st(3)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x419e86
fcompp
fnstsw ax
test ah, 0x41
je 0x419e81
xor eax, eax
leave
ret 8
push 8
pop eax
jmp 0x419e7d
fstp st(1)
fstp st(0)
jmp 0x419e7b
inc ebp
clc
mov dword [esi + 0xc], 0x8000503
fstp qword [esi]
cmp dword [edi + 8], 1
je 0x457888
pop edi
xor eax, eax
pop esi
leave
ret 8
or byte [esi + 6], dh
clc
xor eax, 1
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x70000fc], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x34], eax
add dword [ebp + 0x2c], eax
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x70000ac], ebx
mov dword [ebp - 0x700008c], ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0x70000c0], edx
mov dword [ebp - 0x70000b0], edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x70000a4], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x7000088], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x7000084], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x7000094], ecx
mov dword [ebp - 0x7000098], 0x80005ff
mov dword [ebp - 0x110], 0x800fc00
mov dword [ebp - 0x114], 0x800dc00
mov dword [ebp - 0x12c], 0x800057b
mov dword [ebp - 0x120], 0x800053a
mov dword [ebp - 0x140], 0x8000587
mov dword [ebp - 0x7000090], 0x8000530
mov dword [ebp - 0x70000b4], 0x8000539
mov dword [ebp - 0x128], 0x8000527
mov dword [ebp - 0x118], 0x800051e
mov dword [ebp - 0x11c], 0x8000582
mov dword [ebp - 0x138], 0xdee85d
jmp 0xdf29b8f1
invalid
cmp dword [ebp - 0x5c], 0xffffffde
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x41b8e0
mov eax, 0x800fc00
and ebx, eax
mov eax, 0xd800
add al, bl
add byte [eax], al
cmp ebx, eax
je 0x45a297
push 2
pop esi
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
cmp dword [ebp - 0x5c], 0xffffffde
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
je 0x41b952
test cl, al
je 0x41b952
movzx ecx, word [ebp - 0x10c]
mov edx, 0x800fc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x45b534
mov eax, ecx
mov ecx, 0x75000080
cdq
idiv ecx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 - 0x7ab50c0d]
clc
dec dword [edi]
test dword [edx + 4], edi
add byte [eax], cl
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0xc]
push 0x1d
pop ecx
add eax, ecx
mov word [edx], ax
add edx, esi
xor eax, eax
mov dword [ebp - 8], edx
mov ecx, eax
test edi, edi
je 0x41b97f
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x41b96a
mov dword [ebp - 8], edx
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x45b560
push 0xa
pop ecx
cmp ax, cx
je 0x45b560
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x46c507
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x17400084], eax
add dword [ebp - 0x54], eax
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x7000094]
mov dword [ebp - 0x70], eax
cmp edi, dword [ebp - 0xc]
jne 0x45b595
movzx eax, word [edx - 2]
mov bh, 0x42
dec byte [ecx + 0x438ba045]
push 0x4589c10b
lodsb al, byte [esi]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x68]
or eax, ecx
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x50]
movzx ebx, word [esi]
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x7541bc44
cmp dword [ebp + 0x2c], 0
mov edi, dword [ebp + 0x28]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
lea ecx, [eax + ecx*2]
je 0xdf29bacf
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x45b6f7
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x4587dc
mov ecx, edx
sub ecx, eax
add dword [ebp + 0x2c], eax
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x45b81e
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0xdf29bb36
mov ecx, dword [ebp - 0x70000b0]
cmp edx, ecx
jbe 0x41ba98
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00472733
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0x70000b0]
sub edx, ecx
sar edx, 1
neg edx
mov dword [ebp - 0x28], ecx
lea esi, [esi + edx*2]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x70000c0], edx
test ebx, ebx
je 0x41bac2
push 0x5c
pop ecx
cmp ebx, ecx
je 0x41c08e
cmp dword [ebp - 0x64], 0
jne 0x4587fb
cmp ebx, ecx
je 0xdf29c0a3
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x458868
push 0x28
pop eax
cmp ebx, eax
je 0x478251
push 0x2a
pop eax
cmp ebx, eax
je 0xdf29c0b5
push 0x2b
pop eax
cmp ebx, eax
je 0xdf29c0b5
push 0x3f
pop eax
cmp ebx, eax
je 0xdf29c0b5
push 0x7b
pop eax
cmp ebx, eax
je 0x4589b0
mov edx, dword [ebp - 0x7000088]
xor eax, eax
mov ecx, eax
add dword [ebp - 0x50], eax
test edx, edx
jne 0x4589c8
test dword [ebp - 0x2c], 0x54000
jne 0x458a09
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0xf941b882
je 0x4595ea
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x7541bbdd
or dword [edx - 0x7d7bf0dc], 0xffffffda
add eax, dword [eax]
sub eax, 4
je 0x41bc70
sub eax, 1
je 0x41bbdd
sub eax, 1
je 0x41c0c0
sub eax, 1
je 0x458a57
sub eax, 3
jne 0x41b8ba
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41bb8a
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
shr eax, 2
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x68], ecx
or eax, 0xc
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x7000084], ecx
mov dword [ebp - 0x28], edx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
jmp 0x41b9e0
enter 0xffffffffffff8b0c, 0x4d
mov al, byte [0xff7c8d89]
invalid
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x13c]
mov dword [eax], edx
add dword [ebp + 8], eax
mov dword [eax], esi
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x41bc2e
sub edx, dword [ebp - 0x70000c0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x45b81e
fimul dword [edi]
invalid
add ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
mov bh, 0x16
cmp dx, ax
je 0x458a5f
mov eax, dword [ebp - 0x2c]
mov ecx, 0x75000085
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp + 0x28]
mov ebx, edi
mov dword [ebp - 0x3c], eax
push 0x3f
mov dword [ebp - 0x18], ebx
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
pop eax
mov dword [ebp - 0x30], edi
cmp dx, ax
jne 0x41c250
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x458ce0
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x4593bc
sub eax, 1
je 0x45927e
sub eax, 1
je 0x4593b2
sub eax, 5
je 0x459308
push 0xd
pop ebx
sub eax, ebx
je 0x4592bf
push 2
pop ebx
sub eax, ebx
je 0x4592a2
push 0x2a
pop ebx
sub eax, ebx
je 0x45926e
xor ecx, ecx
push 0x29
mov eax, ecx
mov dword [ebp - 0x30], ecx
pop ebx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x30]
cmp di, bx
je 0x45a53a
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x41bd76
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x45a50a
out 3, eax
add byte [edi], cl
test dword [edi + 3], esp
add byte [ebx + 0x109f445], cl
jne 0x45a4bf
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx eax, word [esi]
mov ebx, esi
push 0x29
mov dword [ebp - 0x1c], ebx
mov edx, ebx
pop ebx
mov edi, eax
cmp ax, bx
jne 0x41bd32
mov ebx, esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
or ecx, dword [ebp - 0x2c]
not eax
and ecx, eax
push 0x29
pop eax
mov dword [ebp - 0x3c], ecx
cmp word [esi], ax
jne 0x459215
mov edx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 9
and eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x70000f8], eax
xor eax, edx
mov dword [ebp - 0x70000fc], eax
mov eax, dword [ebp - 0x124]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, edx
mov dword [ebp - 0x7000094], eax
jmp 0xf941b9e3
mov esi, dword [ebp - 4]
jmp 0xf941b9e6
hlt
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x68], edi
clc
dec dword [edi]
test dword [esi - 0xb], esi
add eax, dword [eax]
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x41c03c
mov eax, dword [ebp - 0x20]
sub eax, ecx
sar eax, 1
add dword [ebx], eax
mov esi, dword [ebp - 0x10]
xor eax, eax
cmp esi, edx
mov edx, dword [ebp - 8]
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
test ebx, ebx
jne 0x41c07c
test esi, esi
jne 0x45b6e1
push 0x20
pop eax
push eax
lea eax, [ebp - 0x70000e0]
push eax
push edx
call fcn.00420e33
lea edx, [ebp - 8]
add esp, 0xc
push 0x20
jmp 0xf941bbc4
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0xf941bab0
jmp 0x4587e6
or eax, 0xffffffff
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x45b7e7
test ecx, ecx
jne 0x41c0f6
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x7000084]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x54], ebx
sub ecx, eax
mov dword [ebp - 0x48], edx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
pop eax
and ecx, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x80], ecx
test edi, edi
jne 0x45962d
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x459729
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x45977e
cmp ax, dx
jne 0x459789
mov ebx, dword [ebp - 0x70000fc]
mov esi, ecx
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0x28]
push 0x75
pop eax
mov dword [ebp - 0x24], ebx
cmp word [edx], ax
je 0x459794
pop ebp
fsub qword [esi + 0x39]
add cl, byte [edi]
test byte [0x8b0003d6], dh
jge 0x41c15a
mov edi, dword [ebp - 8]
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x459eb4
push 0x1e
pop eax
cmp cx, ax
je 0x459eb4
push 0x1f
pop eax
cmp cx, ax
je 0x459eb4
push 0x20
pop eax
cmp cx, ax
je 0x459eb4
cmp ecx, 0x17
jae 0x45981d
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x459f63
push 0xf
pop ecx
cmp ax, cx
je 0x459f63
or dword [ebp - 0x10], 0xffffffff
lea edi, [edx + 2]
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], edx
test eax, eax
je 0x41c23d
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x459faa
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne 0x459f78
mov ecx, dword [ebp - 0x28]
add eax, 0x21
push 2
mov word [ecx], ax
pop ecx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0xffffffde
je 0x41c21d
test ebx, 0x10000800
jne 0x45a0d3
or byte [eax], al
adc byte [edi], cl
test dword [esi + 0x660003de], esi
mov dword [edi], ebx
mov word [edi], bx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x459e9e
add byte [ebx + 0x7d83fc75], cl
in al, 0
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
jne 0x45a0f1
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x41b9e3
test dword [ebp - 0x2c], 0x51000
jne 0x4595c5
mov edx, dword [ebp - 8]
inc dword [ecx + 0x40]
mov ax, word [ecx + 0x40]
mov ebx, dword [ebp - 0xc]
mov word [edx + 4], ax
mov esi, dword [ebp - 4]
mov ecx, dword [ecx + 0x58]
mov edi, dword [ebp + 0x28]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov edi, dword [ebp - 0x24]
cmp ecx, 0x750000fa
jge 0x45b83a
mov eax, 0x75000080
cmp edi, eax
add dword [ebp + 0x28], eax
jbe 0x45a552
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x10]
sar ecx, 1
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov word [edx], di
mov edi, dword [eax + 0x68]
mov esi, dword [eax + 0x40]
mov eax, dword [ebp + 0x2c]
neg eax
mov dword [ebp - 0x700008c], ecx
lea ecx, [ebp - 0x700008c]
mov dword [ebp - 0x48], edx
sbb eax, eax
mov dword [ebp - 0x80], edi
and eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x75000087
sete dl
cmp ecx, 0x7f
je 0x45a56e
cmp ecx, 0x75000080
je 0x45a56e
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0x70000a0]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0x70000b8]
push eax
lea eax, [ebp - 0x700009c]
push eax
lea eax, [ebp - 0x70000e4]
push eax
add dword [ebp + 0x24], eax
add eax, edx
lea edx, [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
push eax
call 0xf941b4dd
add esp, 0x34
test eax, eax
je 0x45b3c1
mov ecx, dword [ebp + 0x28]
mov eax, 0xc98581
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x45a576
mov eax, dword [ebp - 8]
mov edx, 0x75000080
cmp ebx, edx
jbe 0x45a58f
mov ecx, 0x75000087
cmp ebx, ecx
je 0x45a597
mov eax, dword [ebp - 0x70000a0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x7545b82c
cmp dword [ebp + 0x2c], 0
jne 0xdf29c444
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x75000091
je 0x41b9e6
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x7000084], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ecx
xor ecx, ecx
mov dword [ebp - 0x70000a4], ecx
mov ecx, 0x75000081
cmp ebx, ecx
mov ecx, dword [ebp - 0x700009c]
jb 0x7545a64b
cmp dword [ebp - 0x34], 0xfffffffe
je 0x45a604
test ecx, ecx
jns 0x45a62c
test eax, eax
js 0xf941b9e6
jmp 0x45a663
out 3, al
add byte [ebx + 0x26af855], cl
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x41bdeb
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0xc]
cmp edi, ecx
jne 0x45b56c
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x7000094]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x45b586
mov edx, dword [ebp - 8]
jmp 0x41bdeb
add byte [ebx + 0x10ec0c7d], cl
movzx eax, word [ecx]
push ebx
push esi
push edi
movzx eax, byte [eax + 0x144c2140]
mov edi, edx
xor edx, edx
mov dword [ebp - 4], edi
inc edx
lea ecx, [ecx + eax*2]
call fcn.0046c948
mov esi, eax
cmp esi, edi
jae 0x478de5
add byte [ebx + 0xff73bf0], cl
xor dword [edx - 0x39], 5
add byte [edx + 0x77], ch
push 0x77
pop ebx
movzx edi, word [esi]
mov edx, esi
push 0x10
pop ecx
cmp edi, 0x7d
je 0x45ba5c
cmp edi, 0x75
je 0x45ba72
mov eax, 0x75000092
cmp di, ax
je 0x45bc67
inc eax
cmp di, ax
je 0x45bc67
mov eax, 0x750000a1
cmp di, ax
je 0x45bc67
add eax, 0xfffffff3
cmp di, ax
je 0x45bc67
lea eax, [ecx + 0x78]
cmp di, ax
je 0x45bc53
inc eax
cmp di, ax
je 0x45bc53
lea eax, [ecx + 0x7a]
cmp di, ax
je 0x45bc53
inc eax
cmp di, ax
je 0x45bc53
lea eax, [ecx + 0x73]
cmp di, ax
je 0x45bbec
inc eax
cmp di, ax
je 0x45bbec
lea eax, [ecx + 0x75]
cmp di, ax
je 0x45bbec
inc eax
cmp di, ax
je 0x45bbec
lea eax, [ecx + 0x71]
cmp di, ax
je 0x45bbec
inc eax
cmp di, ax
je 0x45bbec
lea eax, [ecx + 0x77]
cmp di, ax
je 0x7545bbec
add eax, 5
cmp di, ax
je 0x7545bbec
lea eax, [edi - 6]
cmp eax, 0xdee80095
ja 0x45bc88
movzx eax, byte [eax + 0x41c79b]
jmp dword [eax*4 + 0x41c773]
or al, byte [ebx - 0x77c6140]
or esi, dword [edi - 0x16]
jmp 0x45bb3f
dec ecx
and byte [edi + esi*8], al
pop ecx
and al, 0xb0
add ebx, eax
cmp word [ecx + 0x32], 0x2a
je 0x427f53
lea eax, [ecx + 0x24]
push eax
call fcn.00426e2a
ret
add dword [ecx + 0x14], 4
mov eax, dword [ecx + 0x14]
mov eax, dword [eax - 4]
mov dword [ecx + 0x24], eax
test eax, eax
jns 0x427f6b
or dword [ecx + 0x20], 4
neg dword [ecx + 0x24]
mov al, 1
ret
xor al, 0x83
inc esi
adc al, 8
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx - 8]
mov dword [ebp - 8], eax
mov eax, dword [ecx - 4]
mov ecx, edi
mov dword [ebp - 4], eax
call fcn.004266b2
mov ebx, dword [edi + 0x33000404]
mov ecx, eax
test ebx, ebx
jne 0x42813c
mov ebx, edi
push dword [esi + 8]
movsx eax, byte [esi + 0x31]
push dword [esi + 4]
push dword [esi]
push dword [esi + 0x28]
push eax
push ecx
mov ecx, edi
call 0xf94267df
push eax
mov ecx, edi
call fcn.004266b2
push eax
lea eax, [ebp - 8]
push ebx
push eax
call 0x85d046d4
mov eax, dword [esi + 0x20]
add esp, 0x28
shr eax, 5
pop ebx
test al, 1
je 0x428188
cmp dword [esi + 0x28], 0
jne 0x428188
push dword [esi + 8]
push dword [esi + 0x34]
call 0xf9426d72
pop ecx
pop ecx
mov al, byte [esi + 0x31]
cmp al, 0x67
je 0x428193
cmp al, 0x47
jne 0x4281aa
mov eax, dword [esi + 0x20]
shr eax, 5
test al, 1
jne 0x4281aa
push dword [esi + 8]
push dword [esi + 0x34]
call 0xf9426cb5
pop ecx
pop ecx
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x2d
jne 0x4281ba
or dword [esi + 0x20], 0x40
inc eax
mov dword [esi + 0x34], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x69
je 0x4281cf
cmp al, 0x49
je 0x4281cf
cmp al, 0x6e
je 0x4281cf
cmp al, 0x4e
jne 0x4281d3
mov byte [esi + 0x31], 0x73
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4281d6
sub edx, edi
mov al, 1
pop edi
mov dword [esi + 0x38], edx
pop esi
mov esp, ebp
adc bl, al
mov edi, edi
push ebp
mov edi, dword [ebp + 0x51]
push ecx
push esi
push edi
mov esi, ecx
push 0x67
pop ecx
push 0x47
or dword [esi + 0x20], 0x10
mov eax, dword [esi + 0x28]
pop edx
test eax, eax
jns 0x428226
movzx eax, word [esi + 0x32]
cmp eax, 0x61
je 0x42821d
cmp eax, 0x41
je 0x42821d
mov dword [esi + 0x28], 0x8000506
jmp 0x42823d
mov dword [esi + 0x28], 0x8500000d
jmp 0x42823d
jne 0x42823d
movzx eax, word [esi + 0x32]
cmp ax, cx
je 0x428236
cmp ax, dx
jne 0x42823d
mov dword [esi + 0x28], 0x858d0001
mov eax, dword [esi + 0x28]
lea edi, [esi + 0x40]
push ebx
mov ebx, 0xdee8005d
mov ecx, edi
add eax, ebx
push eax
call fcn.004266ca
test al, al
jne 0x428263
mov ecx, edi
call fcn.004266b2
sub eax, ebx
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x33000404]
test eax, eax
jne 0x42826f
mov eax, edi
and dword [ebp - 8], 0
and dword [ebp - 4], 0
mov dword [esi + 0x34], eax
add dword [esi + 0x14], 8
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx - 8]
mov dword [ebp - 8], eax
mov eax, dword [ecx - 4]
mov ecx, edi
mov dword [ebp - 4], eax
call fcn.004266b2
mov ebx, dword [edi + 0x33000404]
mov ecx, eax
test ebx, ebx
jne 0x4282a2
mov ebx, edi
push dword [esi + 8]
movsx eax, byte [esi + 0x32]
push dword [esi + 4]
push dword [esi]
push dword [esi + 0x28]
push eax
push ecx
mov ecx, edi
call 0xf94267df
push eax
mov ecx, edi
call fcn.004266b2
push eax
lea eax, [ebp - 8]
push ebx
push eax
call 0x85d046d4
mov eax, dword [esi + 0x20]
add esp, 0x28
shr eax, 5
pop ebx
test al, 1
je 0x4282ee
cmp dword [esi + 0x28], 0
jne 0x4282ee
push dword [esi + 8]
push dword [esi + 0x34]
call 0xf9426d72
pop ecx
pop ecx
movzx eax, word [esi + 0x32]
push 0x67
pop ecx
cmp ax, cx
je 0x428302
push 0x47
pop ecx
cmp ax, cx
jne 0x428319
mov eax, dword [esi + 0x20]
shr eax, 5
test al, 1
jne 0x428319
push dword [esi + 8]
push dword [esi + 0x34]
call 0xf9426cb5
pop ecx
pop ecx
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x2d
jne 0x428329
or dword [esi + 0x20], 0x40
inc eax
mov dword [esi + 0x34], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x69
je 0x42833e
cmp al, 0x49
je 0x42833e
cmp al, 0x6e
je 0x42833e
cmp al, 0x4e
jne 0x428345
push 0x73
pop eax
mov word [esi + 0x32], ax
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x428348
sub edx, edi
mov al, 1
pop edi
mov dword [esi + 0x38], edx
pop esi
mov esp, ebp
adc bl, al
mov edi, edi
push esi
mov esi, ecx
push edi
push dword [esi + 0x2c]
movzx eax, byte [esi + 0x31]
push eax
push dword [esi + 4]
push dword [esi]
call fcn.00426750
add esp, 0x10
lea edi, [esi + 0x40]
test al, al
je 0x4283b7
add dword [esi + 0x14], 4
mov eax, dword [esi + 0x14]
push ebx
mov ebx, dword [edi + 0x33000404]
movzx eax, word [eax - 4]
test ebx, ebx
jne 0x428396
mov ebx, edi
push eax
mov ecx, edi
call fcn.004266b2
push eax
lea eax, [esi + 0x38]
push ebx
push eax
call 0x75433b0e
add esp, 0x10
pop ebx
test eax, eax
je 0x4283d6
mov byte [esi + 0x30], 1
jmp 0x4283d6
mov ecx, dword [edi + 0x33000404]
test ecx, ecx
jne 0x4283c3
mov ecx, edi
add dword [esi + 0x14], 4
mov eax, dword [esi + 0x14]
mov al, byte [eax - 4]
mov byte [ecx], al
mov dword [esi + 0x38], 0x858d0001
mov eax, dword [edi + 0x33000404]
test eax, eax
je 0x4283e2
mov edi, eax
mov dword [esi + 0x34], edi
mov al, 1
pop edi
pop esi
ret 4
add byte [edi], cl
lea edi, [edi + 0x6600eb02]
xorps xmm1, xmm1
xorpd xmm0, xmm0
mov edx, 0x7ff0
pinsrw xmm1, edx, 3
mulsd xmm0, xmm1
mov edx, 0x8500003a
sub esp, 0x1c
movlpd qword [esp + 0x10], xmm0
mov dword [esp + 0xc], edx
mov edx, esp
add edx, 0x10
mov dword [esp + 8], edx
add edx, 0x10
mov dword [esp + 4], edx
mov dword [esp], edx
call fcn.0043af9b
movlpd xmm0, qword [esp + 0x10]
add esp, 0x1c
sub esp, 0x10
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
mov dword [ebx - 0x24fff79b], eax
inc ebp
or byte [ebx + 0x5ddd10ec], al
clc
fld qword [ebp - 8]
fstp qword [esp + 8]
fld qword [0x4c81a8]
fstp qword [esp]
call fcn.0042e1e5
jne 0x457875
adc cl, ch
dec ecx
cld
mov esp, ebx
and eax, 0x4b10d8
fstp qword [esp]
call fcn.0042fe15
jmp 0xed419ef0
invalid
pushfd
jmp 0x4587e5
add esi, 2
jmp 0x8a41b9d8
mov byte [edx], 0xe9
jmp 0x45881c
jne 0x45880d
sub esi, dword [edi + 0x18]
sar esi, 1
sub si, word [eax + 4]
mov word [eax + 6], si
mov esi, dword [ebp - 4]
xor eax, eax
mov dword [ebp + 0x2c247c78], eax
test dword [ebp - 0x2c], 0xf8554000
je 0x8944a281
push 0x76
pop eax
mov word [edx], ax
mov ecx, 0xfffc08ff
lea eax, [edx + 2]
mov dword [ebp + 0x2c247c78], edx
mov word [eax], cx
sub esi, dword [edi + 0x18]
push 2
pop ecx
add eax, ecx
sar esi, 1
xor ecx, ecx
lea edx, [eax + 4]
mov word [eax], si
mov word [eax + 2], cx
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x8a41b8ac
ja 0x458890
mov eax, dword [ebp + 0x28]
mov edx, dword [eax + 0xc]
test byte [edx + ebx], 1
mov eax, ecx
je 0x45888d
lea esi, [ecx + 2]
mov dword [ebp - 4], esi
mov ecx, esi
movzx ebx, word [esi]
mov eax, esi
cmp ebx, 0xfffc08ff
jbe 0x458870
mov dword [ebp - 0x10], ebx
push 0x23
pop ecx
cmp ebx, ecx
jne 0x4588e7
lea esi, [eax + 2]
mov dword [ebp - 4], esi
movzx eax, word [esi]
push word [ebp + 0x74]
inc edx
mov edi, esi
mov ebx, eax
mov eax, dword [ebp + 0x28]
mov edx, dword [eax - 0x7aa74fc]
mov ecx, dword [eax + 0x1c]
test edx, edx
je 0x4588f8
cmp edi, ecx
jae 0x458925
push dword [ebp - 0x78]
lea edi, [eax - 0x3f7ee]
push edi
push ecx
mov ecx, esi
call 0x2d406ce3
mov esi, dword [ebp - 4]
cmp al, 0
add byte [ecx - 0x73], dl
je 0x458925
mov edx, dword [edi]
lea esi, [esi + edx*2]
mov dword [ebp - 4], esi
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x10]
andnps xmm7, xmm0
cmp esi, dword [ebp - 0x3c]
ja 0x41b9e0
jmp 0x8a41bac3
mov edx, dword [eax - 0x3f7ee]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x458925
mov ecx, dword [ebp + 0x28]
cmp bx, word [ecx + 0x800058c]
jne 0x458925
cmp edx, dword [ebp - 0xc]
je 0x4588db
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x8e]
je 0x4588db
add esi, 2
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 4], esi
mov edi, esi
je 0x458950
mov ax, word [esi]
mov ecx, 0xfffcfc00
and ax, cx
mov ecx, 0xfffcdc00
cmp ax, cx
jne 0x458950
add esi, 2
mov dword [ebp - 4], esi
mov edi, esi
movzx eax, word [esi]
push word [ebp + 0x74]
mov ecx, ebp
dec edx
invalid
test edx, esi
cld
invalid
dec dword [ebp + 0x2c247c54]
push dword [ebp + 0xf]
invalid
cld
mov dword [ebx + 0x766af845], ecx
pop edx
mov dword [ebp + 0x2c247c78], eax
mov word [eax], dx
add eax, 2
mov edx, 0xfffc08ff
push 2
mov word [eax], dx
pop edx
add eax, edx
mov edx, dword [ebp + 0x28]
sub esi, dword [edx + 0x18]
sar esi, 1
xor edx, edx
mov word [eax + 2], dx
lea edx, [eax + 4]
mov word [eax], si
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x8a41bb1f
pop ecx
cmp ax, cx
je 0x458a7f
mov ecx, 0xfffc08ff
cmp ax, cx
ja 0xed41bc77
or ah, bh
jmp dword [esi + 0x3b]
mov edi, dword [ebp + 0x28]
mov ecx, eax
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x8a41bc77
jmp 0x458a82
mov edi, dword [ebp + 0x28]
add esi, 2
mov dword [ebp - 0x3c], 0x4c4f10
xor eax, eax
mov dword [ebp - 4], esi
mov ebx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
mov edx, 0xfffc08ff
movzx eax, word [esi]
mov ecx, esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], esi
cmp ax, dx
ja 0x458adb
mov ebx, dword [edi + 0xc]
invalid
mov eax, dword [ebp - 0x38]
mov edi, ecx
sub edi, eax
push 0x3a
sar edi, 1
pop edx
mov dword [ebp - 0x30], edi
cmp word [esi], dx
jne 0x458b3e
lea edx, [ecx + 2]
mov esi, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], esi
mov ebx, edx
movzx eax, word [esi]
push word [ebp + 0x74]
push 0x29
mov ecx, eax
pop edi
mov ebx, edx
cmp cx, di
je 0x458b24
lea esi, [edx + 2]
mov dword [ebp - 4], esi
mov edx, esi
movzx eax, word [esi]
mov ebx, esi
mov ecx, eax
push word [ebp + 0x75]
in eax, 0x8b
jge 0x458af7
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x14]
sub ebx, edx
mov eax, 0xfc08ffff
sar ebx, 1
cmp ebx, eax
ja 0x8ab716
in al, dx
inc edi
enter 0x296a, 0x59
push 0x29
pop ecx
cmp word [esi], cx
jne 0x8458ccb
xor ecx, ecx
mov esi, 0xff4c4df0
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x3c]
cmp edi, dword [esi]
jne 0x458b6d
mov edx, ecx
mov ecx, eax
push edi
call fcn.0041c60e
pop ecx
test eax, eax
je 0x458b8a
mov ecx, dword [ebp - 0x3c]
inc ecx
add ecx, dword [esi]
add esi, 0xc
inc dword [ebp - 0x10]
mov dword [ebp - 0x3c], ecx
cmp esi, 0x4c4e5c
jge 0x8a8cbc
in al, dx
inc edi
enter 0xffffffffffffcdeb, 0x6b
inc ebp
invalid
imul eax, dword [ebp - 0x10], 0xc
mov edi, 0xbefffc9e
mov ecx, dword [eax - 0xb3b20c]
cmp ecx, edi
jne 0x458c0e
test ebx, ebx
jne 0x8ab732
in al, dx
jne 0x458bd0
mov eax, dword [ebp - 0xc]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x6c], eax
test ecx, ecx
je 0x458be9
mov eax, dword [ebp + 0x2c]
push 2
pop esi
test eax, eax
je 0x458bc4
add dword [eax], 3
jmp 0x458be0
andnps xmm7, xmm0
mov eax, 0x14c483a0
mov word [edx], ax
add edx, esi
salc
mov ax, word [ecx + 4]
mov word [edx], ax
add edx, esi
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 8], edx
mov ecx, dword [ecx]
inc ebp
aam 0x75
aad 0xec
jne 0x458c11
mov ebx, dword [ebp - 8]
xor eax, eax
xor ecx, ecx
cmp dword [esi + 0x5c], ecx
setg al
add eax, edi
cmp dword [ebp - 0x34], 0xfffffffe
movzx eax, ax
mov ecx, eax
mov word [ebx], ax
jne 0x458c0a
or dword [ebp - 0x34], 0xffffffec
mov eax, ecx
jmp 0x458c80
test ebx, ebx
jne 0x458c25
adc eax, dword [ebp - 0x2c]
dec dword [eax + 0x452b0a]
inc ebp
aam 0xff
mov byte [edx], cl
sub eax, dword [ebp]
in al, dx
pop ebp
clc
movzx eax, cx
mov word [ebx], ax
jmp 0x458c7d
xor ecx, ecx
cmp dword [eax - 0xb3b208], ecx
jl 0xf1b732
invalid
in al, dx
jne 0x458ca8
add ebx, 2
movzx eax, ax
mov edx, 0xfc1a0096
mov dword [ebp - 8], ebx
mov ecx, ebx
cmp ax, dx
jb 0x458cbc
add edx, 3
mov dword [ebp - 8], ecx
cmp ax, dx
jbe 0x458cb6
mov edx, 0xfffc089b
cmp ax, dx
ja 0x458cbc
or dword [esi + 0x64], 0xff001000
mov dword [ebp - 8], ecx
jmp 0x458cbc
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x70], eax
mov esi, dword [ebp - 4]
push 9
pop eax
cmp dword [ebp - 0x10], eax
jl 0x41b9d5
push 0x3c
jmp 0xf89ab894
add eax, 0xd68bfffc
je 0x9bca9c21
push 0x21
pop ecx
mov dword [ebp - 0x1c], esi
mov edi, ebx
sub eax, ecx
je 0x458d15
sub eax, 5
je 0x458d0a
sub eax, 1
jne 0x845a4a9
jmp 0x9bca93ef
push 0x29
pop eax
mov dword [ebp - 0x14], eax
jmp 0x43a35f
lea ecx, [esi + 2]
mov esi, ecx
push 0x29
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
jne 0x458d58
movzx eax, word [esi + 2]
push 0x2a
pop ebx
cmp ax, bx
je 0x458d58
push 0x2b
pop edx
cmp ax, dx
je 0x458d58
push 0x3f
pop edx
cmp ax, dx
je 0x458d58
push 0x7b
pop edx
cmp ax, dx
jne 0x458d69
add ecx, 4
call 0xbe49b07e
mov ecx, dword [ebp + 0x74]
adc al, 0x8b
jne 0x458d54
mov ecx, dword [ebp + 0x28]
push 0x7e
pop edi
mov dword [ebp - 0x24], edi
inc dword [ecx + 0x5c]
jmp 0x845a539
andnps xmm7, xmm0
mov eax, 0xfffc089d
push 2
mov word [edx], ax
pop eax
add edx, eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x41c4df
push ebp
clc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], edi
mov ebx, eax
mov ecx, dword [ebp + 0x28]
jmp 0x41c263
jmp 0x459276
add esi, 2
jmp 0x459289
ret 0x8b89
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], esi
jmp 0xd1a539
cmp dword [esi], eax
jne 0x8a07b85f
mov ebx, ecx
jmp 0xf1a8a2
cmp ax, cx
je 0x4592df
push 0x3e
pop ecx
cmp ax, cx
je 0x4592df
push 0x3c
pop ecx
cmp ax, cx
jne 0x45b789
mov edi, eax
jmp 0x894493ef
push 0x29
pop ecx
push 0x3e
mov dword [ebp - 0x14], ecx
mov esi, edx
xor edx, edx
pop ecx
cmp ax, cx
sete dl
mov dword [ebp - 0x10], edx
jmp 0x845a6d9
push esp
jl 0x45932f
sub al, 0x58
mov word [edx], ax
mov esi, dword [ebp - 4]
push 2
pop eax
add esi, eax
mov dword [ebp + 0x2c247c78], edx
add edx, eax
mov dword [ebp - 4], esi
push 0x30
pop edi
movzx eax, word [esi]
mov dword [ebp - 8], edx
cmp ax, di
jb 0x45936e
mov edi, esi
mov edx, eax
push 0x39
pop eax
cmp dx, ax
ja 0x45936b
imul ecx, ecx, 0xa
lea esi, [edi + 2]
movzx eax, dx
add eax, 0xffffffd0
mov dword [ebp - 4], esi
add ecx, eax
mov eax, 0xfffc08ff
cmp ecx, eax
jg 0x41b790
movzx eax, word [esi]
mov edi, esi
mov edx, eax
cmp ax, word [ebp + 0x2c247c70]
jae 0x459335
andnps xmm7, xmm0
push 0x29
pop eax
cmp word [esi], ax
jne 0x41b79e
mov word [edx], cx
verw word [eax]
push 2
pop eax
add edx, eax
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 4]
sub eax, dword [ecx + 0x18]
sar eax, 1
inc eax
mov word [edx], ax
xor eax, eax
mov word [edx + 2], ax
push 4
pop eax
add edx, eax
jmp 0x8a41c4df
push 0x21
mov ecx, eax
pop edx
cmp ecx, edx
je 0xff72927b
invalid
push 0x3d
pop edx
cmp ax, dx
je 0xf195af
mov edx, 0xfffc08ff
cmp ax, dx
ja 0xfc5fb7c8
inc dword [ebp + 0x28]
mov edi, ebx
push 0x10
pop ebx
mov edx, esi
mov eax, dword [eax + 0xc]
test byte [ecx + eax], bl
je 0xfc5fb7c8
lea esi, [edx + 2]
movzx ebx, di
push 0x30
mov dword [ebp - 4], esi
movzx eax, word [esi]
pop ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], esi
cmp ax, cx
jb 0x459415
push 0x39
pop ecx
cmp ax, cx
jbe 0xf1b867
mov edx, 0xfffc08ff
mov ecx, esi
cmp ax, dx
ja 0x459458
verw word [eax]
mov edx, esi
push 0x10
pop ebx
mov edi, dword [ecx + 0xc]
mov ecx, eax
movzx eax, cx
mov dword [ebp - 0x10], edx
test byte [eax + edi], bl
je 0x459452
lea esi, [edx + 2]
mov dword [ebp - 4], esi
mov edx, esi
movzx eax, word [esi]
mov ecx, eax
mov dword [ebp - 0x10], esi
cmp ax, word [ebp + 0x2c247c68]
jbe 0x45942e
or byte [ebp - 0x14], bl
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x38]
sar ecx, 1
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 0x10], ecx
je 0x845959f
andnps xmm5, xmmword [eax]
push 0x3c
pop edi
push 0x3e
mov eax, dword [edx + 0x40]
inc eax
mov dword [ebp - 0x14], eax
xor eax, eax
cmp bx, di
pop ebx
sete al
dec eax
and eax, 0xffffffe9
add eax, ebx
cmp word [esi], ax
jne 0xfc5fb876
cmp dword [edx + 0x30], 0xfc1a2710
jge 0xfc5fb7ba
lea eax, [ecx + 2]
cmp eax, dword [edx + 0x34]
jle 0x4594b4
push 0x20
mov dword [edx + 0x34], eax
pop eax
cmp ecx, eax
jg 0xfc5fb872
invalid
cld
push esi
inc ebp
aam 2
push 0
pop eax
setne al
mov dword [ebp - 0x28], ecx
add eax, 0x19
jmp 0x41bbb1
or al, 0x84
mov esp, 0x8becfc22
pop ebp
or al, 0x8d
inc ebp
mov esp, 0x4e8d5053
add cl, byte [ebp + 0x1fe8b455]
sbb eax, dword [eax + eax]
mov esi, eax
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 4], esi
cmp dword [ebx], eax
jne 0x845b8c3
cmovne edi, dword [ebx + ecx*4 - 0x60164bb3]
sub bh, ah
inc dword [ebx - 0x45fd3a]
or ah, bh
dec dword [edi]
mov bh, 6
movzx eax, word [esi]
mov ebx, dword [ebp + 0x28]
mov ecx, eax
cmp ax, dx
ja 0x459664
mov edi, dword [ebx + 0xc]
invalid
push 0x23
pop eax
cmp cx, ax
jne 0x419f0e
push 2
pop eax
add esi, eax
movzx edi, word [esi]
test di, di
je 0x459627
mov edx, dword [ebx - 0x7aa74fc]
mov ecx, dword [ebx + 0x1c]
test edx, edx
je 0x4596b1
cmp esi, ecx
jae 0x4596db
push dword [ebp - 0x78]
lea edi, [ebx - 0x3f7ee]
push edi
push ecx
mov ecx, esi
call 0xed406ce3
cmp al, 0
add byte [ecx - 0x73], dl
je 0x4596db
mov edx, dword [edi]
lea esi, [esi + edx*2]
jmp 0x2c6a1322
mov edx, dword [ebx - 0x3f7ee]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4596db
cmp di, word [ebx + 0x800058c]
jne 0x4596db
cmp edx, dword [ebp - 0xc]
je 0x4596a9
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x8e]
je 0x4596a9
push 2
pop ecx
add esi, ecx
cmp dword [ebp - 0x5c], 0
je 0x4596fd
mov ax, word [esi]
mov edx, 0xfffcfc00
and ax, dx
mov edx, 0xfffcdc00
cmp ax, dx
jne 0x4596fd
add esi, ecx
movzx edi, word [esi]
test di, di
jne 0x2c6a137d
jmp 0x8a459622
jne 0x41c119
add esi, 8
mov dword [ebp - 4], esi
movzx eax, word [esi]
push word [ebp + 0xf]
test byte [ebx - 0xe], dl
invalid
jl 0x4597a4
sub al, 0xe9
mov ecx, 0x6afffc29
add al, 0x5e
push esi
push edx
lea eax, [edx + 4]
push eax
call 0xfc452725
call dword [ebp - 0x28]
lea eax, [esi + 0x7d]
mov edi, dword [ebp - 8]
cmp al, 0
or al, 0x83
invalid
jge 0x4597d2
add byte [ecx - 0x76990783], cl
add ch, byte [edx + 0x78]
pop eax
mov word [edx + 2], si
mov word [edx + 8], ax
mov word [edx + 0xa], si
mov dword [ebp + 0x2c247c74], 0x14c48306
jne 0x459807
mov eax, dword [ebp + 0x28]
push 2
pop ecx
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add eax, ecx
cmp edx, eax
inc eax
adc byte [ebx], al
sar dword [ebx], 0xd0
jb 0x459804
inc dword [ebp + 0x28]
mov ecx, dword [ebp - 0x28]
movzx esi, word [edx - 2]
push 2
sub ecx, dword [eax + 0x14]
pop eax
add ecx, eax
sar ecx, 1
cmp esi, ecx
jne 0x459804
lea eax, [esi + 2]
mov word [edx - 2], ax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x28]
jmp 0xfc44c154
call dword [ebp - 0x28]
mov esi, dword [ebp - 4]
jmp 0x41c154
pop eax
cmp cx, ax
je 0x9bca9e2a
push 0x70
pop eax
cmp cx, ax
je 0x419e2a
push 0x71
pop eax
cmp cx, ax
je 0x419e2a
cmp ecx, 0x72
je 0x419e2a
push 0x73
pop eax
cmp cx, ax
je 0x419e2a
cmp ecx, 0x74
je 0x419e2a
push 0xa
lea eax, [ecx - 0x7d]
pop ebx
cmp ax, bx
ja 0x419e0e
mov eax, dword [ebp - 0x40]
sub edi, edx
mov dword [ebp - 0x10], eax
mov ebx, edi
xor eax, eax
sar ebx, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], eax
mov eax, 0x30c4587
mov dword [ebp - 0x38], ebx
cmp cx, ax
jne 0x45989a
add eax, 0xa
cmp word [edx + 4], ax
je 0x41c22f
mov eax, 0x81
cmp cx, ax
mov ecx, dword [ebp - 0x4c]
jae 0x4598c3
test ecx, ecx
or al, 0x8f
sub byte [ecx], 0xfc
mov dword [ebx - 0x3f7a43bb], ecx
js 0x4598bb
cmp eax, 1
jle 0x4598c6
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x44], eax
jmp 0x4598c6
mov eax, dword [ebp - 0x44]
test ecx, ecx
jne 0xbf45958a
sbb byte [ebx + 0x2728dc0], cl
mov edx, dword [ebp - 0xc]
push dword [ebp + 0x28]
cmp eax, edx
add dword [ebp - 0x778a0008], 0x66
mov dword [eax], ecx
jg 0x45992e
mov edi, dword [ebp - 0x28]
mov ecx, edi
call fcn.0049a687
cmp al, 0
or al, 0x8d
add al, 0x1b
push eax
push edi
push esi
call 0xed422725
cmp al, 0
add byte [edx + 2], ch
pop eax
add dword [ebp - 8], eax
cmp dword [ebp - 0x44], 0
jne 0x45991b
mov eax, 0xfffc08a1
mov word [edi], ax
jmp 0x41a230
mov eax, dword [ebp - 0x24]
add eax, 0xf8558b92
mov dword [ebp - 0x3c], edi
mov word [edi], ax
mov dword [ebp - 0x28], esi
jmp 0x45997e
mov ecx, dword [ebp - 0x28]
push 3
pop edx
call fcn.0049a687
cmp al, 0
or al, 0x83
out 0xfe, eax
push edi
mov edi, dword [ebp - 0x28]
push edi
lea eax, [edi + 6]
push eax
call 0xfc452725
inc dword [ebp - 0x24]
cmp al, 0
or al, 0x83
inc ebp
clc
push es
mov ecx, esi
add eax, 0xf8558b92
mov edx, 0xfffc0883
mov word [edi], ax
mov eax, ecx
push 2
mov word [ecx], dx
pop edx
add ecx, edx
xor edx, edx
add eax, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], eax
mov word [ecx], dx
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 4]
dec edx
jmp 0x8a9ac9
mov dword [ebp - 8], edx
jmp 0xed41c222
sub eax, 1
je 0x459ebd
xor eax, eax
jmp 0x459ec9
push 0x27
jmp 0x459ec8
pop eax
mov ebx, eax
cmp dword [ebp - 0x5c], 0
je 0x459f1e
lea edx, [edi - 2]
mov ax, word [edx]
and ax, word [ebp + 0x48d17f0]
adc bh, byte [ebx]
test esp, ebp
invalid
mov eax, ecx
movzx edi, word [edi - 2]
mov dword [ebp - 0x18], edi
cmp cx, word [ebp - 0x1f827c18]
ja 0xed41c19a
cmp al, 0x7d
mov ah, 1
jle 0xfc44c19a
inc dword [ebp + 0x28]
mov dword [ebp - 0x60], edi
mov eax, dword [eax + 0x68]
or eax, dword [ebp - 0xd3db94]
sbb al, 0x45
lodsb al, byte [esi]
jmp 0xfc44c198
inc ebp
invalid
jne 0x459f82
add eax, 0x25
jmp 0x834956bc
add eax, 0x8d03eb27
inc edx
daa
mov word [ecx], ax
mov ax, word [ebp - 0x44]
pop ecx
mov word [edi], ax
add edi, ecx
jmp 0xed41c1fd
lea eax, [edx + 0x23]
jmp 0x459fc8
lea edi, [ecx + 2]
jmp 0xed41c1f1
call 0xed420e25
cmp al, 0
add byte [edx + 2], ch
pop ecx
jmp 0x41c214
sub dword [edx + 0x1d], ebp
pop ecx
cmp eax, ecx
jb 0x45a1a4
push 0x20
pop ecx
cmp eax, ecx
jbe 0x45a11b
push 0x29
pop ecx
cmp eax, ecx
je 0x45a11b
cmp eax, 0x36
je 0x45a11b
push 0x43
pop ecx
cmp eax, ecx
jne 0x1021eea4
cmp dword [ebp - 0x5c], 0
movzx ecx, byte [eax + 0x4c2140]
mov eax, dword [ebp - 0x48]
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x48], ecx
je 0x45a1a4
mov ax, word [ecx - 2]
mov ebx, 0xfffcfc00
and ax, bx
mov ebx, 0xfffcd800
cmp ax, bx
jne 0x45a1a4
lea eax, [ecx + 2]
jmp 0x45a159
mov dword [ebp - 0x48], eax
jmp 0x45a1a4
mov ecx, dword [ebp - 0x48]
mov edi, edx
sub edi, ecx
mov ebx, edi
sar ebx, 1
test ebx, ebx
jle 0x41c22f
movzx eax, word [ecx]
push 0x76
pop esi
cmp eax, esi
jae 0x45a1d3
mov al, byte [eax + 0x4c4c10]
test byte [ebp + 0x74], cl
or byte [edi], cl
mov dh, 0xc0
mov word [ecx], ax
jmp 0x45a230
sbb byte [ebx - 0x3fcc40], cl
jne 0x45a203
mov word [edx], ax
push dword [ebp - 0x78]
mov ecx, dword [ebp - 0x48]
push 2
pop esi
mov edx, esi
call fcn.0049a687
mov eax, dword [ebp - 0x48]
cmp al, 0
or al, 0x83
out 0xfe, eax
push edi
push eax
add eax, 4
push eax
call 0xfc452725
call dword [ebp - 8]
push ebp
clc
lea ecx, [esi + 0x7f]
cmp al, 0
add byte [edx + 4], ch
pop eax
add edx, eax
mov eax, dword [ebp - 0x48]
push 0x78
mov word [eax], cx
lea ecx, [ebx + 2]
pop eax
mov word [edx], ax
add edx, esi
mov word [edx], cx
add edx, esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 8], edx
mov word [eax + 2], cx
mov esi, dword [ebp - 4]
jmp 0x8a41c22f
and eax, ebx
mov ebx, 0xfffcdc00
cmp ax, bx
jne 0x41b8d4
mov dword [ebp - 4], esi
mov ax, word [esi]
pop esi
mov word [ebp - 0x10a], ax
mov edi, esi
jmp 0xed41b8d5
clc
push ebp
int1
adc dword [ebx - 0x7af0a708], eax
pop ss
adc ebx, esp
jae 0x7f2ee4da
sbb ah, bh
in al, dx
or dword [ecx], 0x80200
jmp 0xfc44bd52
je 0x45a520
push 0x78
pop eax
cmp di, ax
jne 0x1021b7e3
or dword [ecx], 8
jmp 0x41bd52
push 4
jmp 0x45a526
pop eax
jmp 0xfc44bd50
push ebp
clc
mov ebx, dword [ebp - 0x18]
jmp 0x41c263
mov dword [ebp - 0x28], ecx
mov dword [eax - 0x763d7401], ecx
jmp 0x8a41c29e
sbb eax, 0x458b89fc
clc
mov edx, 0xfffc0882
mov word [eax], dx
jmp 0x8a41c34b
or ah, bh
jmp dword [esi - 0x77]
rcr byte [0xc88b89fc], cl
xor eax, eax
push 0x78
mov esi, eax
pop edi
movzx eax, word [ecx + 2]
mov edx, esi
inc esi
lea ecx, [ecx + eax*2]
cmp word [ecx], di
jne 0x45a59c
mov eax, dword [ebp - 8]
mov ecx, 0x30c4591
mov edi, dword [ebp - 0x80]
cmp word [eax + 4], cx
jne 0x45a5cc
cmp edx, dword [ebp - 0xc]
jge 0x8a07b7f4
mov ebx, ecx
jmp 0xed41c365
push 2
pop eax
cmp edx, eax
jge 0x8a07b802
cmp esi, dword [ebp - 0xc]
jne 0x2d41c365
or eax, 0xffffffff
or ecx, eax
mov dword [ebp - 0xd3dba0], eax
mov dword [ebp + 0x2c247c64], ecx
jmp 0x41c36b
dec ebp
hlt
sub al, 0xff
mov eax, ecx
or eax, edi
mov dword [ebp - 0xd3dba0], eax
jmp 0x2d41c3de
adc edi, esp
jmp [edx + 0x2b]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0x14]
cmp ecx, edi
jb 0xf48ab8af
je 0x45b406
push 2
pop eax
mov ebx, eax
push 0xd
pop eax
mov dword [ebp - 0x1c], ebx
cmp ecx, eax
je 0x45b3ec
push 0xa
pop eax
cmp ecx, eax
je 0x45b3ec
mov eax, dword [ebp + 0x28]
jmp 0x45b3f6
inc dword [ebp + 0x28]
or dword [eax + 0x64], 0x800
push ecx
push edi
push eax
jmp 0x41bf92
mov ecx, dword [ebp - 0x64]
jmp 0x2d41bf66
ret 0xe1c1
insb byte es:[edi], dx
and al, 0x2c
inc dword [eax]
je 0x41c517
or dword [ebp - 0x54], 0xffffffff
or dword [ebp - 0x34], 0xffffffff
jmp 0x41b9d2
dec ebp
lodsb al, byte [esi]
inc dword [ebx - 0x160033b3]
pop edx
add al, 0xfc
dec dword [edi]
mov bh, 0x4a
dec byte [ebx + 0x4d896843]
mov al, byte [0xfc0448e9]
inc dword [ebp + 0x43850cc9]
add al, 0xfc
invalid
pop ebp
les eax, [ebp - 0x7ae78a25]
ror byte [edi], cl
test byte [ebx + ecx*4], al
push ebp
clc
mov eax, dword [ebp - 0x2c]
and eax, 0x20fc1a3d
je 0x41c01e
jmp 0x45b5bb
mov esi, dword [ebp - 0x10]
test edx, edx
je 0x45b62a
test esi, esi
jne 0x45b62a
test eax, eax
jne 0x45b62a
mov eax, dword [ebp - 0x20]
push 2
pop ecx
mov word [eax], cx
mov eax, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x5c], esi
je 0x45b60a
mov edx, eax
mov ecx, 0x45c70008
call fcn.0049b9ac
verr ax
lea edx, [ecx + eax*2]
mov ecx, 0x4510ffff
mov dword [ebp - 0x20], edx
call fcn.0049b9ac
verr ax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
jmp 0x45b62a
mov edx, 0x45c70008
mov word [eax], dx
mov edx, 0xfc08ffff
mov eax, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x20], eax
mov word [eax], dx
add dword [ebp - 0x20], ecx
jmp 0x45b62a
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edi, dword [ebp - 8]
push 2
pop edx
mov word [eax], cx
add dword [ebp - 0x20], edx
push 0x70
pop eax
mov word [edi], ax
push 4
pop eax
add edi, eax
xor eax, eax
test esi, esi
setne al
movzx eax, ax
mov word [edi], ax
mov ecx, eax
test ebx, ebx
je 0x45b664
push 4
pop ecx
or eax, ecx
mov word [edi], ax
movzx ecx, ax
mov eax, dword [ebp - 0x24]
test eax, eax
jle 0x45b6bd
or ecx, edx
mov word [edi], cx
add edi, edx
mov eax, dword [ebp - 0x20]
sub eax, edi
and eax, 0xfffffffe
push eax
lea eax, [edi + 0x20]
push edi
push eax
call 0xed422725
cmp al, 0
add byte [ecx - 0xa], dl
je 0x45b6a1
test ebx, ebx
jne 0x45b6a1
push 0x20
xor eax, eax
pop ecx
not byte [ebp + eax - 0x760000e0]
inc eax
cmp eax, ecx
jb 0x45b695
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd300e0]
push eax
push edi
call 0xed420e25
mov eax, dword [ebp - 0x20]
cmp al, 0
or al, 0x83
shl byte [eax], 0xeb
add ecx, dword [ebx + 0x558be045]
fmul dword [ecx - 0x3dd407bb]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], eax
sub eax, edx
sar eax, 1
mov word [edx + 2], ax
jmp 0x41b9d2
sal dword [edx - 0xc], 0xe9
outsb dx, byte [esi]
or esp, edi
invalid
mov esi, dword [ebp - 4]
xor eax, eax
push 0xd
pop ecx
cmp word [esi + 2], di
sete al
dec eax
and eax, 0x12
add eax, ecx
str word [ecx + ecx*4]
add ecx, ebp
lodsd eax, dword [esi]
add dword [eax], eax
inc ebp
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x14c4834b
jmp 0x4545b8c3
push 0x29
jmp 0x4545b894
invalid
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x14c4830e
jmp 0x41c0c3
mov ecx, eax
pop ebx
push 0x39
pop eax
cmp cx, ax
ja 0x45b857
lea esi, [edx + 2]
mov dword [ebp - 4], esi
mov edx, esi
movzx eax, word [esi]
mov ecx, eax
cmp ax, bx
jae 0x45b83d
push 0x3d
jmp 0x45b894
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x45b8c3
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x41bc23
int1
mov edi, eax
jmp 0x45bc7a
add byte [ebx + ecx*4], cl
ror dword [ecx + 0x488bf855], cl
adc byte [ebp + 0x3b3474c9], al
dec eax
and byte [ebx + 0x23], dh
mov edx, esi
sub edx, dword [eax + 0x14]
add edx, 2
sar edx, 1
movzx eax, word [ecx]
cmp eax, edx
je 0xed41c771
mov eax, dword [ebp + 0xc]
add ecx, 2
cmp ecx, dword [eax + 0x20]
jb 0x45ba8f
andnps xmm7, xmm0
xor eax, eax
cmp word [ebx + 2], ax
je 0x41c771
push 0x77
pop ecx
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
cmp word [edx], cx
je 0x45bab7
cmp esi, ebx
jb 0x45bacf
cmp esi, edx
jbe 0x467c77
mov ecx, dword [ebp + 0x10]
mov eax, ecx
test ecx, ecx
je 0x45baeb
cmp dword [eax + 4], ebx
je 0x45bae3
mov edi, dword [esi - 0xa8ab275]
test eax, eax
jne 0x1005bc77
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ebx
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0xc]
mov ecx, ebx
mov edi, dword [ebp - 8]
inc eax
xor ecx, dword [ebx]
cld
in al, dx
cmp al, 0
add byte [edx + 0x77], ch
test eax, eax
jne 0x41bc79
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
pop eax
cmp word [ebx], ax
je 0x45baf1
jmp 0x41c756
xor eax, eax
cmp word [edx + ecx + 2], ax
ja 0x41c756
jmp 0x41bc7a
xchg dword [eax], ecx
cld
jmp dword [esi + 0x3b]
int1
jmp 0xff72ba5d
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
cmp ax, bx
je 0x45bc63
jmp 0x45ba5d
movzx eax, di
xor edx, edx
inc edx
movzx eax, byte [eax + 0x4c2140]
lea ecx, [esi + eax*2]
or al, 0x46
call 0xed41c93a
mov esi, eax
cmp esi, dword [ebp - 4]
jae 0xed41c771
jmp 0x41c668
sti
dec dword [ebx + 0x247c89d0]
cmp byte [ebx + 0x245489c7], cl
xor al, 0x59
cmp dword [esp + 0x24], eax
jbe 0x427f39
mov ecx, dword [esp + 0xc]
or ebx, 0x2c
mov esi, dword [esp + 0x28]
inc ebx
mov dword [edx + eax*4], ebx
mov edx, 0xfffcffff
push 0x24
mov dword [esp + 0x3c], ebx
mov word [esi + ebx*2], dx
mov esi, dword [esp + 0x30]
mov dword [esi + ebx*4], edi
mov esi, dword [ebp + 0x1c]
mov dword [ecx + ebx*4], edi
mov edx, dword [esi + 8]
sub edx, eax
mov eax, dword [ebp + 8]
dec edx
shl edx, 4
add edx, dword [esi]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + eax + 0x20]
mov esi, dword [esp + 0x38]
movzx eax, word [eax + esi*8 + 4]
mov dword [esp + 0x20], eax
movzx eax, ax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
movzx eax, ax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
and dword [esp + 0x20], 0xfffc0fff
pop esi
cmp ax, si
mov esi, dword [esp + 0x14]
je 0x4835d4
mov dword [esp + 0x40], 0xfffc4024
cmp ax, word [esp + 0x40]
je 0x467dd4
push dword [esp + 0x1c]
mov eax, ebx
shl eax, 4
add eax, esi
push eax
push edx
mov dword [esp + 0x44], eax
call 0x8468a7b
test eax, eax
jne 0x467d6f
push 0x48
pop eax
push dword [esp + 0x38]
cmp word [esp + 0x20], ax
jne 0x467db8
mov eax, dword [esp + 0x48]
and eax, 0x89c24008
add eax, 0x13
movzx eax, ax
mov dword [esp + 0x14], eax
call fcn.00428d58
mov ecx, dword [esp + 0xc]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x10]
push 0x1f
pop eax
cmp dx, ax
jne 0x8a09097e
push 8
mov edi, ebx
pop eax
shl edi, 4
add edi, esi
mov dword [esp + 0x10], eax
push edi
call fcn.00468a28
push edi
mov esi, eax
call dword [0x49c470]
mov ecx, dword [esp + 0xc]
push 0x1f
pop eax
mov dword [edi + 8], esi
mov word [edi], ax
xor edi, edi
mov dword [ecx + ebx*4], esi
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp 0x467e28
call dword [0x49c470]
mov edx, dword [esp + 0x10]
mov eax, ebx
add eax, eax
mov dword [esi + eax*8 + 8], edi
mov dword [esi + eax*8 + 0xc], edi
mov word [esi + eax*8], dx
jmp 0x467d73
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x44]
push dword [esp + 0x30]
push ecx
push esi
push eax
push edx
call fcn.00468bb5
mov edx, dword [esp + 0x3c]
call [esp + 0x38]
mov dword [esp + 0x10], edx
jmp 0x7dc9b073
test edx, 0x89c24008
je 0x8a0909f6
mov eax, dword [esp + 0x1c]
movzx eax, ax
sub eax, 8
je 0x467eb8
and eax, ebp
add dword [esp - 0x7d], esi
call 0x8396f24e
call 0x2182f262
call 0x836ef256
call 0x395af283
cmp al, 0x99
jne 0x467ed3
mov eax, ebx
shl eax, 4
add eax, esi
push eax
call fcn.004689bf
jmp 0x467ecc
push 4
pop eax
push eax
call fcn.0041fe10
pop ecx
mov ecx, ebx
add ecx, ecx
mov ecx, dword [esi + ecx*8 + 8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + ebx*4], eax
mov eax, ebx
shl eax, 4
add esi, eax
push esi
call dword [0x49c470]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov word [esi], ax
mov eax, dword [ecx + ebx*4]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x28]
mov esi, 0xfffcffff
cmp word [eax + ebx*2], si
jne 0x467f09
mov word [eax + ebx*2], dx
mov edx, dword [esp + 0x2c]
cmp dword [edx + ebx*4], edi
jne 0x467f1e
mov eax, ebx
shl eax, 4
add eax, dword [esp + 0x14]
mov dword [edx + ebx*4], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x24]
jb 0xfc467c97
call [esp + 0x18]
lea eax, [esp + 0x48]
push eax
call dword [0x49c46c]
andnps xmm1, xmmword [eax]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov ecx, dword [edx + 0xc]
movzx eax, word [eax + ecx + 0x36]
test eax, 0x89c24008
jne 0x467f7a
push 0x1e
pop esi
cmp ax, si
je 0x467f7a
push 0x1f
pop esi
cmp ax, si
je 0x467f7a
push 0x48
pop esi
cmp ax, si
jne 0x467f7d
push 0x15
pop eax
lea esi, [esp + 0x48]
push esi
mov esi, dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x30]
push esi
push ebx
call [esp + 0x30]
push eax
mov eax, dword [ebp + 0xc]
push dword [ebx + ecx + 0x2c]
lea eax, [eax*4 - 0xd30004]
push eax
push dword [edx + 0x14]
call dword [0x49c474]
pcmpeqw mm4, qword [eax]
mov dword [esp + 0x44], eax
test esi, esi
je 0x8a090b39
push esi
call dword [0x49c470]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
movzx ecx, word [ebx + ecx + 0x36]
mov eax, ecx
mov edx, ecx
test eax, 0x89c24008
je 0x467ff5
cmp dword [esp + 0x50], 0
je 0x467ff5
mov word [esp + 0x48], ax
and eax, 0xfffc0fff
push eax
push esi
lea eax, [esp + 0x50]
push eax
call fcn.00468afc
jmp 0x468039
push 0x1e
pop ebx
cmp dx, bx
jb 0x468023
push 0x1f
pop ebx
cmp dx, bx
jbe 0x46800d
push 0x48
pop edx
cmp cx, dx
jne 0x468023
push 8
pop ecx
push eax
lea eax, [esp + 0x4c]
mov word [esi], cx
push eax
call fcn.0046772b
mov dword [esi + 8], eax
jmp 0x468039
lea eax, [esp + 0x48]
push eax
push esi
call dword [0x49c488]
test eax, eax
jns 0x468039
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
cmp dword [esp + 0x24], 0
mov ecx, edi
call [esp + 0x14]
mov dword [esp + 0x10], edi
jbe 0x428113
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov eax, dword [edx + eax + 0x20]
movzx edx, word [eax + ecx*8 + 4]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x34], edx
mov esi, dword [eax + 8]
sub esi, ecx
dec esi
shl esi, 4
add esi, dword [eax]
test edx, 0x89c24008
je 0x4680c6
mov eax, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
shl eax, 4
add eax, ebx
cmp dword [eax + 8], edi
je 0x4680c6
and edx, 0xfffc0fff
push edx
push esi
push eax
mov dword [esp + 0x40], edx
call fcn.00428afc
cmp word [esp + 0x34], 0xc
mov ecx, dword [esp + 0x10]
jne 0x468104
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
cmp dword [edx + eax*4], 0
je 0x468104
push dword [edx + eax*4]
call dword [0x49c470]
jmp 0x468100
push 0x1f
pop eax
cmp dx, ax
je 0x4680d6
push 0x1e
pop eax
cmp dx, ax
jne 0x468104
push esi
call dword [0x49c470]
mov ecx, dword [esp + 0x30]
push 8
pop eax
push dword [esp + 0x34]
mov word [esi], ax
mov eax, dword [esp + 0x14]
mov eax, dword [ecx + eax*4]
shl eax, 4
add eax, ebx
push eax
call fcn.0046772b
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x24]
jb 0x8a46804e
cmp dword [esp + 0x18], 0x1b
mov esi, dword [esp]
jbe 0x468134
call [esp + 0x18]
push dword [esi + edi*4]
call fcn.0041fe19
inc edi
pop ecx
cmp edi, ebx
jb 0x468122
call [esp + 0x14]
push dword [esp + 0x28]
call fcn.0041fe19
pop ecx
push dword [esp + 0x2c]
call fcn.0041fe19
pop ecx
test ebx, ebx
je 0x468154
push ecx
mov ecx, ebx
call fcn.004676d8
push esi
call fcn.0041fe19
pop ecx
push dword [esp + 0x30]
call fcn.0041fe19
pop ecx
lea eax, [esp + 0x48]
push eax
call dword [0x49c470]
mov eax, dword [esp + 0x44]
jmp 0x46817b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
add dword [ebx], esi
rol byte [eax - 0x17], 0x12
or ah, bh
call dword [edi - 0x7d]
inc byte [0xfe837f74]
push es
je 0x46c595
cmp esi, 3
je 0x46c53d
cmp esi, 4
je 0x46c53d
lea eax, [ebp - 4]
mov ecx, 0x4d1990
push eax
push esi
call fcn.0042c59d
test al, al
je 0x46c595
mov edi, dword [ebp - 4]
jmp 0x46c53f
mov edi, esi
mov eax, dword [edi*4 - 0x3bb2e4bc]
test eax, eax
je 0x46c595
cmp byte [eax + 4], 0
je 0x46c595
push 0x2c
lea eax, [ebp - 0x30]
mov dword [ebp - 0x34], 0x8000030
push 0
push eax
call 0x2d422345
add esp, 0xc
mov dword [ebp - 0x30], 0x1b804
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi*4 - 0x3bb2e4bc]
push 0
push esi
push dword [eax]
call dword [0x49c5e0]
test eax, eax
je 0x46c595
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x46c597
xor eax, eax
pop edi
pop esi
leave
ret 8
add cl, ch
and eax, dword [ecx]
add byte [eax], al
lea eax, [esp + 0x30]
push eax
call dword [0xff49c254]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
call dword [0xff49c2ac]
lea eax, [esp + 0x14]
push eax
push eax
call dword [0x49c2b0]
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.00407515
mov ecx, dword [esi + 8]
lea edx, [esp + 0x20]
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0xc]
mov ecx, edx
mov dword [esp + 0x2c], eax
inc dword [eax]
call fcn.00403aa7
lea eax, [esp + 0x1000440]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp - 0x3fdb8]
push eax
lea eax, [esp - 0xfef9b4]
push eax
push dword [esp + 0x30]
call 0x2d42d588
add esp, 0x14
lea eax, [esp - 0x3fdc0]
push eax
lea eax, [esp - 0xfef9bc]
push eax
call fcn.0042903d
lea eax, [esp + 0x1000448]
push eax
lea eax, [esp + 0x4c]
push eax
call 0x2d42903d
add esp, 0x10
lea eax, [esp + 0x640]
push eax
push 0x7fff
mov byte [0x1b49c328], dl
mov edi, dword [0x49c3f8]
lea eax, [esp - 0xfef9c0]
push eax
call edi
test eax, eax
je 0x47835d
lea ecx, [esp + 0x40]
call 0x2d46e19e
mov esi, dword [esp + 0xc]
test al, al
je 0x4783ad
push esi
lea edx, [esp + 0x18]
lea ecx, [esp + 0x44]
call fcn.0046daea
pop ecx
test al, al
jne 0x478385
lea eax, [esp + 0x640]
push eax
call edi
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.0040cfa5
mov dword [esi + 0xc], 0xfffc01
and dword [esi], 0
lea ecx, [esp + 0x20]
call fcn.00409894
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
test bl, bl
jne 0x478395
lea eax, [esp + 0x640]
push eax
call edi
jmp 0x478371
lea eax, [esp + 0x40]
push eax
call edi
lea eax, [esp + 0x40]
push 0x14c6b74
push eax
call fcn.00424988
pop ecx
pop ecx
push dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x18]
push esi
push eax
lea eax, [esp + 0x4c]
push eax
call 0x894697a2
test byte [ebp + 0x75], dh
ror byte [ebx - 0x3174f38b], 0xe8
ror byte [ebx - 7], cl
inc dword [ebx + 0x46c70026]
or al, 1
cld
inc dword [eax]
jmp 0x478389
inc ebx
mov dword [ebp - 0xc], ebx
mov eax, dword [edx + 8]
xor esi, esi
mov dword [ebp - 0x10], esi
cmp dword [eax + 0xc], 5
jne 0x478dfe
mov eax, dword [eax]
mov dword [ebp - 4], eax
jmp 0x478e01
and dword [ebp - 4], esi
mov edx, ebx
mov ebx, dword [ebp - 4]
push 1
mov ecx, ebx
mov dword [ebp - 8], edx
call fcn.0041e73c
cmp edx, eax
jge 0x478e6d
push 0
push edx
push 2
pop eax
push eax
push 1
push ebx
call 0x2d4104f5
add esp, 0x14
mov esi, eax
mov ecx, esi
call fcn.00407515
mov eax, dword [esi + 8]
push 1
sbb byte [ebx + 0x4788bf8], cl
push 2
pop eax
push eax
push 1
push ebx
call 0x2d4104f5
add esp, 0x14
mov esi, eax
mov ecx, esi
call fcn.00407515
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
add esi, 2
mov eax, dword [eax + 4]
add eax, edi
add esi, eax
inc edx
mov dword [ebp - 0x10], esi
jmp 0x478e06
xor ecx, ecx
lea eax, [esi + 1]
push 2
pop esi
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041fe10
mov ebx, dword [ebp - 0xc]
mov edi, eax
pop ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 4]
mov ecx, edx
push 1
call fcn.0041e73c
cmp ebx, eax
jge 0x1478b2e
push 1
push ebx
push esi
push 1
push edx
call 0x2d4104f5
add esp, 0x14
mov esi, eax
mov ecx, esi
call fcn.00407515
mov eax, dword [esi + 8]
push 2
pop esi
mov ecx, dword [eax]
movzx eax, word [ecx]
push word [ebp + 0x74]
adc ecx, dword [ebx + 0x66ce03d0]
mov dword [edi], edx
add ecx, esi
mov word [edi], dx
add edi, esi
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x478ecb
push 0x3d
pop eax
push 1
push ebx
push esi
push 1
sbb byte [ebx + 0x78966fc], cl
add edi, esi
call 0x2d4104f5
add esp, 0x14
mov esi, eax
mov ecx, esi
call fcn.00407515
mov eax, dword [esi + 8]
push 2
pop esi
mov ecx, dword [eax]
movzx eax, word [ecx]
push word [ebp + 0x74]
adc ecx, dword [ebx + 0x66ce03d0]
mov dword [edi], edx
add ecx, esi
mov word [edi], dx
add edi, esi
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x478f10
xor eax, eax
mov word [edi], ax
add edi, esi
inc ebx
jmp 0x8a478e8d
push eax
call fcn.00470ce4
and dword [esp + 0x48], 0
lea ecx, [esp + 0x40]
push eax
call fcn.004100e5
push 4
xor eax, eax
pop esi
jmp 0x4836e8
test eax, eax
je 0x4836f5
lea ecx, [esp + 0x30]
call fcn.0040cfa5
test esi, esi
je 0x483702
lea ecx, [esp + 0x40]
call fcn.0040cfa5
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
test eax, eax
jns 0x48371b
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
mov ecx, ebx
call fcn.004847d9
lea eax, [esp + 0x20]
push eax
call dword [0x49c470]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8