Function at 0x1001f780
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x453c0420]
fld qword [0x452f84c0]
push ebx
push ebp
push esi
xor esi, esi
mov dword [eax + 0x7a0], esi
fstp qword [0x453c0a68]
push edi
or eax, 0xffffffff
mov dword [0x453c0ad0], eax
mov dword [0x453e0d20], eax
mov dword [0x45400de8], eax
xor eax, eax
mov ecx, 0x6e
mov edi, 0x453e0b20
rep stosd dword es:[edi], eax
mov ecx, 0x20
mov edi, 0x453c0900
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [0x453c08b0], ecx
mov dword [0x453c08b4], ecx
mov dword [0x453c08b8], ecx
mov dword [0x453c08bc], ecx
mov ecx, 0x20
mov edi, 0x453c0600
rep stosd dword es:[edi], eax
mov ecx, 0x20
mov edi, 0x45400e00
rep stosd dword es:[edi], eax
mov edi, 1
mov word [0x453e0cd8], si
mov dword [0x453c0ab0], esi
mov word [0x453c08d4], si
mov word [0x45400ee4], si
mov word [0x453c0680], si
mov word [0x453c0a20], si
mov word [0x45400ef8], si
mov word [0x453c09c0], si
mov word [0x45400ee6], si
mov dword [0x453c09c4], esi
mov byte [0x45400ea0], 0
mov byte [0x453c09e0], 0
mov byte [0x45400da0], 0
mov byte [0x453c0980], 0
mov byte [0x453c06a0], 0
mov byte [0x45400e90], 0
mov dword [0x453c0598], esi
mov dword [0x453c0ad4], esi
mov dword [0x453e0cf4], esi
mov dword [0x453c08c8], esi
mov dword [0x45400dec], esi
mov dword [0x45400e80], esi
mov word [0x453c0a78], si
mov word [0x453c08cc], si
mov dword [0x453c05a4], esi
mov dword [0x453c058c], esi
mov dword [0x45400ef0], esi
mov dword [0x453e0ce0], esi
mov dword [0x453e0cf0], 0x452dec80
mov dword [0x45400d78], esi
mov dword [0x453e0d1c], esi
mov dword [0x453c08dc], esi
mov dword [0x453c0688], esi
mov dword [0x453e0cec], esi
mov dword [0x453c08d0], esi
mov dword [0x45400de0], esi
mov dword [0x453c08a4], esi
mov dword [0x45400ee8], esi
mov dword [0x453e0ce4], esi
mov dword [0x453c0ad8], esi
mov dword [0x453c0a64], esi
mov dword [0x453e0b08], esi
mov dword [0x453e0b0c], esi
mov dword [0x45400ef4], esi
mov dword [0x453e0ae0], esi
mov dword [0x453c0a74], esi
mov dword [0x45400eec], esi
mov dword [0x453c08c4], edi
mov dword [0x45400d84], edi
mov dword [0x453c0684], esi
mov dword [0x45400efc], esi
xor edx, edx
cmp eax, edi
sete dl
xor ecx, ecx
cmp eax, 3
setl cl
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov edx, 3
mov dword [esp + 0x14], ecx
fstp dword [eax*4 + 0x453c0ac0]
lea ecx, [eax*4 + 0x453c05c0]
fild dword [esp + 0x14]
fstp dword [eax*4 + 0x453e0af0]
jmp 0x1001f990
mov dword [ecx], esi
add ecx, 0x10
sub edx, edi
jne 0x1001f990
xor edx, edx
cmp eax, esi
sete dl
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
xor edx, edx
cmp eax, 2
sete dl
fstp dword [eax*4 + 0x45400d40]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fstp dword [eax*4 + 0x45400d50]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fstp dword [eax*4 + 0x45400d60]
add eax, edi
cmp eax, 4
jl 0x1001f952
mov dword [0x453c05a0], 3
xor eax, eax
jmp 0x1001fa00
mov word [eax*2 + 0x453c0ae0], ax
add eax, edi
cmp eax, 0x10000
jl 0x1001fa00
mov eax, dword [0x453e0d24]
push eax
push 2
lea ecx, [esp + 0x18]
push edi
push ecx
mov byte [esp + 0x20], 0xff
mov byte [esp + 0x21], 0xff
call fcn.10028910
add esp, 0x10
xor eax, eax
cmp word [0x453c0590], 0x4949
jne 0x1001fa48
mov ah, byte [esp + 0x11]
mov al, byte [esp + 0x10]
jmp 0x1001fa54
movzx dx, byte [esp + 0x11]
mov ah, byte [esp + 0x10]
or eax, edx
mov word [0x453c0590], ax
call fcn.10002bb0
push esi
mov dword [esp + 0x1c], eax
mov eax, dword [0x453e0d24]
push esi
push eax
call fcn.10028b60
mov ecx, dword [0x453e0d24]
push ecx
push 0x20
lea edx, [esp + 0x34]
push edi
push edx
call fcn.10028910
mov eax, dword [0x453e0d24]
push 2
push esi
push eax
call fcn.10028b60
mov ecx, dword [0x453e0d24]
push ecx
call fcn.10028cd0
mov ebp, eax
add esp, 0x2c
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ebp
lea esi, [esp + 0x20]
nop
push 4
push 0x452f8b48
push esi
call fcn.1002e616
add esp, 0xc
test eax, eax
mov ebx, 0x61616161
je 0x1001fad6
add esi, 1
lea edx, [esp + 0x3c]
cmp esi, edx
jbe 0x1001fab0
jmp 0x1001fade
test esi, esi
jne 0x100204e1
lea esi, [esp + 0x20]
push 4
push 0x452f8b50
push esi
call fcn.1002e616
add esp, 0xc
test eax, eax
je 0x1001fb03
add esi, 1
lea eax, [esp + 0x3c]
cmp esi, eax
jbe 0x1001fae2
jmp 0x1001fb0b
test esi, esi
jne 0x100204e1
mov ax, word [0x453c0590]
cmp ax, 0x4949
je 0x100204ab
cmp ax, 0x4d4d
je 0x100204ab
lea edx, [esp + 0x20]
mov eax, dword [edx]
mov ecx, 0x452f9724
cmp eax, dword [ecx]
jne 0x1001fbdc
lea edx, [esp + 0x26]
mov eax, dword [edx]
mov ecx, 0x452f90a8
cmp eax, dword [ecx]
jne 0x1001fbdc
mov ecx, dword [0x453e0d24]
push 0
push 4
push ecx
call fcn.10028b60
call fcn.10002b60
mov edx, dword [0x453e0d24]
movzx eax, ax
add eax, 4
push 0
push eax
push edx
mov dword [0x453c0688], eax
call fcn.10028b60
mov eax, dword [0x453e0d24]
add esp, 0x18
cmp eax, 0x3ec
jne 0x1001fbb3
cmp dword [0x453c04b8], 0
je 0x1001fbb3
mov edx, dword [0x453c0434]
mov ecx, dword [0x453c0430]
sub edx, ecx
cmp edx, 1
jl 0x1001fbb3
movzx eax, byte [ecx]
add ecx, 1
mov dword [0x453c0430], ecx
jmp 0x1001fbbc
push eax
call fcn.10029e60
add esp, 4
cmp eax, 0xff
je 0x1001fbcd
push 0xc
call fcn.10019610
add esp, 4
mov dword [0x453c058c], 0
jmp 0x10020507
mov ecx, 7
mov edi, 0x452f971c
lea esi, [esp + 0x39]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001fc99
mov ecx, dword [0x452f9714]
mov dx, word [0x452f9718]
mov al, byte [0x452f971a]
mov dword [0x45400da0], ecx
mov ecx, dword [0x452f9708]
push 0
mov dword [0x453c09e0], ecx
mov ecx, dword [0x453e0d24]
mov word [0x45400da4], dx
mov edx, dword [0x452f970c]
mov byte [0x45400da6], al
mov ax, word [0x452f9710]
push 0x21
push ecx
mov dword [0x453c09e4], edx
mov word [0x453c09e8], ax
call fcn.10028b60
push 1
call fcn.10016180
mov edx, dword [0x453e0d24]
push 0
push 0x3c
push edx
call fcn.10028b60
add esp, 0x1c
xor esi, esi
call fcn.10002bb0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x1001fc7f
fadd dword [0x452f8600]
mov eax, esi
sar eax, 1
xor eax, esi
add esi, 1
fstp dword [eax*4 + 0x453c0ac0]
cmp esi, 4
jl 0x1001fc68
jmp 0x10020507
mov edi, 0x452f9704
lea esi, [esp + 0x20]
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001fd00
mov eax, dword [0x452f96f8]
mov ecx, dword [0x452f96fc]
mov dl, byte [0x452f9700]
mov dword [0x45400da0], eax
mov eax, dword [0x452f96e8]
mov dword [0x45400da4], ecx
mov ecx, dword [0x452f96ec]
mov byte [0x45400da8], dl
mov edx, dword [0x452f96f0]
mov dword [0x453c09e0], eax
mov eax, dword [0x452f96f4]
mov dword [0x453c09e4], ecx
mov dword [0x453c09e8], edx
mov dword [0x453c09ec], eax
jmp 0x10020507
mov edi, 0x452f96e0
lea esi, [esp + 0x20]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001fd6b
mov eax, dword [0x452f96d8]
mov cx, word [0x452f96dc]
mov edx, dword [0x452f96c8]
mov dword [0x45400da0], eax
mov eax, dword [0x452f96cc]
mov word [0x45400da4], cx
mov ecx, dword [0x452f96d0]
mov dword [0x453c09e0], edx
mov dx, word [0x452f96d4]
mov dword [0x453c09e4], eax
mov dword [0x453c09e8], ecx
mov word [0x453c09ec], dx
mov dword [0x453e0ce0], 0x452c93f0
jmp 0x10020507
mov edi, 0x452f96c0
lea esi, [esp + 0x20]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001fdd6
mov ecx, dword [0x452f96d8]
mov dx, word [0x452f96dc]
mov eax, dword [0x452f96b0]
mov dword [0x45400da0], ecx
mov ecx, dword [0x452f96b4]
mov word [0x45400da4], dx
mov edx, dword [0x452f96b8]
mov dword [0x453c09e0], eax
mov ax, word [0x452f96bc]
mov dword [0x453c09e4], ecx
mov dword [0x453c09e8], edx
mov word [0x453c09ec], ax
mov dword [0x453e0ce0], 0x452c97e0
jmp 0x10020507
mov ecx, 2
mov edi, 0x452f8b18
lea esi, [esp + 0x20]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x1001fed6
mov eax, dword [0x453e0d24]
push edx
push 0x54
push eax
call fcn.10028b60
call fcn.10002bb0
mov dword [0x453c058c], eax
call fcn.10002bb0
mov ecx, dword [0x453e0d24]
push 0
push 0x5c
push ecx
mov dword [0x453c05a4], eax
call fcn.10028b60
call fcn.10002bb0
push eax
call fcn.1001bb20
add esp, 0x1c
cmp dword [0x453c058c], 0x78
jle 0x1001fe7b
mov edx, dword [0x453e0d24]
push 0
push 0x78
push edx
call fcn.10028b60
add esp, 0xc
call fcn.10002bb0
mov edx, dword [0x45400d84]
xor ecx, ecx
test eax, eax
setne cl
add edx, ecx
cmp edx, 2
mov dword [0x45400d84], edx
jne 0x1001fe7b
cmp dword [0x453c0338], 0
je 0x1001fe7b
push eax
call fcn.1001bb20
add esp, 4
xor eax, eax
cmp eax, dword [0x453c0338]
push 0
sbb eax, eax
neg eax
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x453e0d24]
lea edx, [ecx*4 + 0x64]
push edx
push eax
mov dword [0x453e0ce0], 0x452c7e90
call fcn.10028b60
call fcn.10002bb0
push eax
mov dword [0x453c0688], eax
call fcn.10019610
mov ecx, dword [0x453c058c]
add ecx, 0xc
push ecx
call fcn.10019610
add esp, 0x14
jmp 0x10020502
lea eax, [esp + 0x20]
mov ecx, dword [eax]
mov edx, 0x452f8f38
cmp ecx, dword [edx]
jne 0x1001ff02
mov edx, dword [0x453e0d24]
push 0
push 0
push edx
call fcn.10028b60
add esp, 0xc
call fcn.1001c2c0
jmp 0x10020507
mov ecx, 3
mov edi, 0x452f96a8
lea esi, [esp + 0x20]
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x1001ff95
mov ecx, dword [0x453e0d24]
push eax
push 6
push ecx
call fcn.10028b60
mov edx, dword [0x453e0d24]
push edx
push 8
push 1
push 0x45400da0
call fcn.10028910
mov eax, dword [0x453e0d24]
push eax
push 8
push 1
push 0x453c09e0
call fcn.10028910
mov ecx, dword [0x453e0d24]
push ecx
push 0x10
push 1
push 0x45400ea0
call fcn.10028910
add esp, 0x3c
call fcn.10002b60
movzx edx, ax
mov dword [0x453c0688], edx
call fcn.10002b60
call fcn.10002b60
mov word [0x45400ee4], ax
call fcn.10002b60
mov word [0x453c0680], ax
jmp 0x1002004a
mov ecx, 2
mov edi, 0x452f969c
lea esi, [esp + 0x20]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1002005f
mov dx, word [0x452f9698]
mov ecx, dword [0x452f9694]
mov ax, word [0x452f9690]
push 0
mov word [0x45400da4], dx
mov edx, dword [0x453e0d24]
mov dword [0x45400da0], ecx
mov cl, byte [0x452f9692]
push 0x12c
push edx
mov word [0x453c09e0], ax
mov byte [0x453c09e2], cl
mov word [0x453c0590], 0x4949
call fcn.10028b60
add esp, 0xc
call fcn.10002bb0
mov dword [0x453c0688], eax
call fcn.10002bb0
mov esi, eax
call fcn.10002b60
mov word [0x453c09c0], ax
call fcn.10002b60
mov cx, ax
movzx eax, word [0x453c09c0]
lea eax, [eax + eax*4]
cdq
and edx, 3
add eax, edx
mov word [0x45400ee6], cx
movzx ecx, cx
sar eax, 2
imul eax, ecx
sub esi, eax
add dword [0x453c0688], esi
mov dword [0x453e0ce0], 0x452c8740
mov dword [0x453c0ad0], ebx
jmp 0x10020507
lea eax, [esp + 0x20]
mov ecx, dword [eax]
mov edx, 0x452f9688
cmp ecx, dword [edx]
jne 0x1002010a
mov edx, dword [0x453e0d24]
push 0
push 0x14
push edx
mov word [0x453c0590], 0x4949
call fcn.10028b60
call fcn.10002bb0
mov word [0x453c09c0], ax
call fcn.10002bb0
mov edx, dword [0x453e0d24]
mov cl, byte [0x452f968c]
push 0
mov word [0x45400ee6], ax
mov eax, dword [0x452f9688]
push 0x29c
push edx
mov dword [0x45400da0], eax
mov byte [0x45400da4], cl
call fcn.10028b60
mov eax, dword [0x453e0d24]
push eax
push 0x40
push 1
push 0x453c09e0
call fcn.10028910
add esp, 0x28
mov dword [0x453c0688], 0x1000
mov dword [0x453e0ce0], 0x452c83f0
mov dword [0x453e0cec], 0x58
mov dword [0x453c0ad0], ebx
jmp 0x10020507
lea edx, [esp + 0x20]
mov eax, dword [edx]
mov ecx, 0x452f9680
cmp eax, dword [ecx]
jne 0x100201a4
mov ecx, dword [0x453e0d24]
push 0
push 0x800
push ecx
mov word [0x453c0590], 0x4949
call fcn.10028b60
mov edx, dword [0x453e0d24]
push edx
push 0x29
push 1
push 0x45400da0
call fcn.10028910
call fcn.10002b60
mov word [0x453c0680], ax
call fcn.10002b60
push 1
mov word [0x45400ee4], ax
mov eax, dword [0x453e0d24]
push 0x38
push eax
call fcn.10028b60
mov ecx, dword [0x453e0d24]
push ecx
push 0x1e
push 1
push 0x453c09e0
call fcn.10028910
add esp, 0x38
mov dword [0x453c0688], 0x10000
mov dword [0x453e0ce0], 0x452c8960
jmp 0x10020507
lea eax, [esp + 0x24]
mov ecx, dword [eax]
mov edx, 0x452f9678
cmp ecx, dword [edx]
jne 0x1002020a
mov dword [0x45400da0], 0x646552
mov dword [0x453c09e0], 0x656e4f
call fcn.1001c9f0
fld qword [0x452f9670]
push 0xfff
push 1
sub esp, 0x10
fstp qword [esp + 8]
mov dword [0x453e0ce0], 0x452c9fc0
fld qword [0x452f9668]
fstp qword [esp]
call fcn.1000d270
add esp, 0x18
mov dword [0x453c0ad0], 0x49494949
jmp 0x10020507
mov ecx, 9
mov edi, 0x452f965c
lea esi, [esp + 0x20]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020228
call fcn.1001b120
jmp 0x10020507
lea ecx, [esp + 0x20]
mov edx, dword [ecx]
mov eax, 0x452f9654
cmp edx, dword [eax]
jne 0x10020241
call fcn.1001b3a0
jmp 0x10020507
lea ecx, [esp + 0x20]
mov edx, dword [ecx]
mov eax, 0x452f964c
cmp edx, dword [eax]
jne 0x1002025f
push 0
call fcn.10019ed0
add esp, 4
jmp 0x10020507
lea ecx, [esp + 0x20]
mov edx, dword [ecx]
mov eax, 0x452f9644
cmp edx, dword [eax]
jne 0x10020278
call fcn.1001f280
jmp 0x10020507
lea ecx, [esp + 0x20]
mov dx, word [ecx]
mov eax, 0x452f9640
cmp dx, word [eax]
jne 0x10020293
call fcn.1001c6b0
jmp 0x10020507
mov edx, 0xfffffff6
sub edx, 0x452f5788
mov dword [esp + 0x14], edx
xor esi, esi
cmp ebp, dword [esi + 0x452f5778]
lea edi, [esi + 0x452f5788]
jne 0x10020493
mov eax, edi
jmp 0x100202c0
mov cl, byte [eax]
mov byte [eax + edx + 0x45400daa], cl
add eax, 1
test cl, cl
jne 0x100202c0
lea eax, [edi + 0xa]
mov cl, byte [eax]
mov byte [eax + edx + 0x453c09e0], cl
add eax, 1
test cl, cl
jne 0x100202d3
mov eax, dword [0x453c0420]
mov dword [eax + 0x7a0], 2
mov cl, byte [esi + 0x452f5787]
movzx eax, cl
mov edx, eax
shr edx, 2
and eax, 2
test cl, 1
mov dword [0x453e0d20], edx
mov dword [0x45400ef4], eax
je 0x10020318
call fcn.1001a2a0
movzx ecx, byte [esi + 0x452f5781]
mov dx, word [esi + 0x452f577c]
movzx ax, byte [esi + 0x452f5780]
mov di, word [esi + 0x452f577e]
mov word [0x45400ef8], cx
movzx ecx, byte [esi + 0x452f5782]
mov word [0x453c0a20], ax
mov bp, dx
sub bp, cx
sub bp, ax
movzx eax, byte [esi + 0x452f5783]
mov cx, di
sub cx, ax
movzx eax, byte [esi + 0x452f5785]
sub cx, word [0x45400ef8]
imul eax, eax, 0x1010101
mov word [0x45400ee6], cx
mov ecx, eax
shr ecx, 1
and ecx, eax
movzx ebx, word [esi + 0x452f57a6]
mov dword [0x453c0ad0], eax
and ecx, 0x5555
neg ecx
sbb ecx, ecx
add ecx, 1
mov eax, 4
sub eax, ecx
mov dword [0x453c05a0], eax
movzx eax, dx
mov word [0x45400ee4], dx
movzx edx, di
imul eax, edx
mov dword [esp + 0x18], eax
mov word [0x453c09c0], bp
mov ebp, dword [esp + 0x10]
mov eax, ebp
sub eax, ebx
add eax, eax
add eax, eax
add eax, eax
mov word [0x453c0680], di
mov edi, dword [esp + 0x18]
cdq
idiv edi
movzx ecx, byte [esi + 0x452f5784]
mov dword [0x453c0688], ebx
mov dword [0x453e0cec], ecx
lea edx, [eax - 6]
cmp edx, 0xa
mov dword [0x453e0d1c], eax
ja 0x10020471
movzx edx, byte [edx + 0x452e374c]
jmp dword [edx*4 + 0x452e3738]
mov cl, byte [esi + 0x452f5786]
mov edx, 1
shl edx, cl
mov edi, 1
mov ecx, eax
shl edi, cl
sub edi, edx
mov edx, dword [esp + 0x14]
mov dword [0x453c09c4], edi
add esi, 0x30
sub edx, 0x30
cmp esi, 0x10b0
mov dword [esp + 0x14], edx
jb 0x100202a4
jmp 0x1002050f
xor eax, eax
mov ecx, 2
mov edi, 0x452f9634
lea esi, [esp + 0x26]
repe cmpsd dword [esi], dword es:[edi]
push eax
jne 0x100204f6
mov eax, dword [esp + 0x1c]
sub ebp, eax
push ebp
push eax
mov dword [0x453c0688], eax
call fcn.1001a610
add esp, 0xc
mov dword [0x453e0ce0], 0x452c3d30
jmp 0x10020507
lea ecx, [esp + 0x20]
sub esi, ecx
push esi
call fcn.1001b620
add esp, 4
test esi, esi
je 0x10020507
push 0
call fcn.10019610
add esp, 4
test eax, eax
je 0x10020507
call fcn.100196e0
mov dword [esp + 0x10], 0
cmp byte [0x45400da0], 0
jne 0x1002062c
mov edx, dword [esp + 0x1c]
push edx
push 0
call fcn.1001c590
add esp, 8
cmp byte [0x45400da0], 0
jne 0x1002062c
push 0
call fcn.1001bf40
push 2
push 0x452f9630
push 0x453c09e0
call fcn.10027c60
add esp, 0x10
test eax, eax
jne 0x10020622
mov eax, dword [0x453e0d24]
push 2
push 0xff9e4800
push eax
call fcn.10028b60
add esp, 0xc
test eax, eax
jne 0x10020622
mov ecx, dword [0x453e0d24]
push ecx
push 0x20
lea edx, [esp + 0x28]
push 1
push edx
call fcn.10028910
add esp, 0x10
test eax, eax
je 0x10020622
mov edi, 0x452f9628
lea esi, [esp + 0x20]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020622
mov edx, dword [0x452f9620]
mov ecx, dword [0x452f961c]
movzx eax, word [0x452f9624]
mov dword [0x45400da4], edx
mov edx, dword [0x453e0d24]
mov dword [0x45400da0], ecx
mov cl, byte [0x452f9626]
push edx
mov word [0x45400da8], ax
mov byte [0x45400daa], cl
call fcn.10028cd0
add esp, 4
add eax, 0x7fe0
mov dword [0x453c0688], eax
movzx eax, word [0x45400ee4]
mov word [0x453c09c0], ax
mov word [0x45400ee4], 0xa33
mov dword [0x453e0ce0], 0x452c8740
mov dword [0x453c0ad0], 0x16161616
jmp 0x1002062c
mov dword [0x45400d84], 0
mov eax, dword [0x453c0420]
cmp dword [eax + 0x7a0], 0
jne 0x1002064d
cmp dword [0x45400d84], 0
je 0x1002064d
mov dword [eax + 0x7a0], 1
xor ebx, ebx
nop
cmp byte [0x45400da0], 0
mov edi, dword [ebx + 0x452fb610]
mov esi, 0x45400da0
je 0x100206b1
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10020670
sub eax, edx
push eax
push edi
push esi
call fcn.10027cb0
add esp, 0xc
test eax, eax
je 0x10020694
add esi, 1
cmp byte [esi], 0
jne 0x10020664
jmp 0x100206b1
test esi, esi
je 0x100206b1
mov eax, dword [ebx + 0x452fb610]
mov edx, 0x45400da0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x100206a5
add ebx, 4
cmp ebx, 0x54
jb 0x10020650
mov edi, 0x452f6a88
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100206e3
mov edi, 0x452f6a78
mov esi, 0x45400da0
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002072e
cmp byte [0x453c09e0], 0
mov esi, 0x453c09e0
je 0x10020715
push 0xf
push 0x452f960c
push esi
call fcn.10027cb0
add esp, 0xc
test eax, eax
je 0x1002070f
add esi, 1
cmp byte [esi], 0
jne 0x100206f1
jmp 0x10020715
test esi, esi
mov eax, esi
jne 0x1002072b
push 0x452f95fc
push 0x453c09e0
call fcn.10027d70
add esp, 8
test eax, eax
je 0x1002072e
mov byte [eax], 0
mov eax, 0x45400da0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10020736
sub eax, edx
cmp byte [eax + 0x45400d9f], 0x20
lea eax, [eax + 0x45400d9f]
jne 0x1002075b
mov byte [eax], 0
sub eax, 1
cmp byte [eax], 0x20
je 0x10020750
mov eax, 0x453c09e0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10020763
sub eax, edx
cmp byte [eax + 0x453c09df], 0x20
lea eax, [eax + 0x453c09df]
jne 0x1002078b
lea ecx, [ecx]
mov byte [eax], 0
sub eax, 1
cmp byte [eax], 0x20
je 0x10020780
mov eax, 0x45400da0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10020793
sub eax, edx
mov esi, eax
push esi
push 0x45400da0
push 0x453c09e0
call fcn.10027cb0
add esp, 0xc
test eax, eax
jne 0x100207e1
mov cl, byte [esi + 0x453c09e0]
add esi, 1
cmp cl, 0x20
jne 0x100207e1
mov edx, 0x40
sub edx, esi
push edx
lea eax, [esi + 0x453c09e0]
push eax
push 0x453c09e0
call fcn.1002e5be
add esp, 0xc
push 8
push 0x452f95f0
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x1002080c
mov eax, 0x453c09e8
mov edi, edi
mov cl, byte [eax]
mov byte [eax - 8], cl
add eax, 1
test cl, cl
jne 0x10020800
push 0xf
push 0x452f95e0
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x1002083c
mov eax, 0x453c09ef
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax - 0xf], cl
add eax, 1
test cl, cl
jne 0x10020830
cmp dword [0x45400d84], 0
mov byte [0x45400edf], 0
mov byte [0x453c0a1f], 0
mov byte [0x45400ddf], 0
mov byte [0x453c09bf], 0
mov byte [0x453c089f], 0
je 0x1002370b
mov bx, word [0x45400ee6]
test bx, bx
jne 0x10020886
mov bx, word [0x453c0680]
mov word [0x45400ee6], bx
mov bp, word [0x453c09c0]
test bp, bp
jne 0x100208a0
mov bp, word [0x45400ee4]
mov word [0x453c09c0], bp
cmp bx, 0xa40
jne 0x100208c2
cmp bp, 0xf60
jne 0x100208ee
mov bx, 0xa38
mov word [0x45400ee6], bx
mov bp, 0xf38
jmp 0x10020983
cmp bx, 0xc40
jne 0x100208ee
cmp bp, 0x1300
jne 0x100208ee
mov bx, 0xc34
mov word [0x45400ee6], bx
mov bp, 0x1250
mov dword [0x453c0ad0], 0x16161616
jmp 0x10020983
cmp bp, 0x1100
jne 0x10020925
mov edi, 0x452f95dc
mov esi, 0x453c09e0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002091f
mov edi, 0x452f95d8
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020971
mov bp, 0x10d5
jmp 0x10020960
cmp bp, 0x1360
jb 0x100209ed
push 3
push 0x452f95d4
push 0x453c09e0
call fcn.10027c60
mov bx, word [0x45400ee6]
add esp, 0xc
test eax, eax
jne 0x100209e6
mov word [0x453c0a20], 0xa
mov bp, 0x1356
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x16161616
cmp bx, 0xbc6
jne 0x1002098a
cmp bp, 0x1000
jne 0x1002098a
mov bp, 0xfae
mov word [0x453c09c0], bp
xor eax, eax
cmp dword [0x453c08d0], eax
je 0x10020ace
mov ecx, dword [0x453c0ad0]
cmp ecx, 0xffffffff
jne 0x10020a88
mov dword [0x453c0ad0], eax
mov edx, dword [0x453c0ad8]
mov dword [0x453c05a0], edx
mov ecx, dword [0x45400d78]
sub ecx, 1
je 0x10020abf
sub ecx, 6
je 0x10020ab0
sub ecx, 0x8845
je 0x10020aa1
mov dword [0x453e0ce0], eax
jmp 0x10021ce9
mov bp, word [0x453c09c0]
cmp bp, 0x1280
jne 0x10020a34
mov edi, 0x452f95d0
mov esi, 0x453c09e0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020971
mov bx, 0xc32
mov word [0x45400ee6], bx
mov bp, 0x124c
mov dword [0x453c0ad0], 0x16161616
mov word [0x45400ef8], 2
jmp 0x10020983
cmp bp, 0x1d00
jne 0x10020971
mov edi, 0x452f95c8
mov esi, 0x453c09e0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020971
mov bx, 0x157e
mov word [0x45400ee6], bx
mov bp, 0x1ca0
mov dword [0x453c0ad0], 0x61616161
mov word [0x45400ef8], 0x1d
mov word [0x453c0a20], 0x30
jmp 0x10020983
cmp ecx, eax
je 0x100209ac
mov ecx, dword [0x453c0ad8]
mov dword [0x45400d84], ecx
jmp 0x100209b8
mov dword [0x453e0ce0], 0x452c9fc0
jmp 0x10021ce9
mov dword [0x453e0ce0], 0x452c4fa0
jmp 0x10021ce9
mov dword [0x453e0ce0], 0x452c5130
jmp 0x10021ce9
mov edi, 0x452f6ac8
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020d0f
cmp dword [esp + 0x10], eax
jne 0x10020d0f
cmp dword [0x453e0d1c], 0xf
je 0x10020d0f
cmp dword [0x453e0ce0], eax
jne 0x10020b10
mov dword [0x453e0ce0], 0x452c4720
mov dx, word [0x45400ee4]
mov cx, word [0x453c0680]
mov edi, edi
cmp dx, word [eax + 0x452f52f0]
jne 0x10020b68
cmp cx, word [eax + 0x452f52f2]
jne 0x10020b68
mov si, word [eax + 0x452f52f4]
mov di, word [eax + 0x452f52f6]
mov bp, dx
sub bp, word [eax + 0x452f52f8]
mov bx, cx
sub bx, word [eax + 0x452f52fa]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
cmp dx, word [eax + 0x452f52fc]
jne 0x10020bb0
cmp cx, word [eax + 0x452f52fe]
jne 0x10020bb0
mov si, word [eax + 0x452f5300]
mov di, word [eax + 0x452f5302]
mov bp, dx
sub bp, word [eax + 0x452f5304]
mov bx, cx
sub bx, word [eax + 0x452f5306]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
cmp dx, word [eax + 0x452f5308]
jne 0x10020bf8
cmp cx, word [eax + 0x452f530a]
jne 0x10020bf8
mov si, word [eax + 0x452f530c]
mov di, word [eax + 0x452f530e]
mov bp, dx
sub bp, word [eax + 0x452f5310]
mov bx, cx
sub bx, word [eax + 0x452f5312]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
cmp dx, word [eax + 0x452f5314]
jne 0x10020c40
cmp cx, word [eax + 0x452f5316]
jne 0x10020c40
mov si, word [eax + 0x452f5318]
mov di, word [eax + 0x452f531a]
mov bp, dx
sub bp, word [eax + 0x452f531c]
mov bx, cx
sub bx, word [eax + 0x452f531e]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
cmp dx, word [eax + 0x452f5320]
jne 0x10020c88
cmp cx, word [eax + 0x452f5322]
jne 0x10020c88
mov si, word [eax + 0x452f5324]
mov di, word [eax + 0x452f5326]
mov bp, dx
sub bp, word [eax + 0x452f5328]
mov bx, cx
sub bx, word [eax + 0x452f532a]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
cmp dx, word [eax + 0x452f532c]
jne 0x10020cd0
cmp cx, word [eax + 0x452f532e]
jne 0x10020cd0
mov si, word [eax + 0x452f5330]
mov di, word [eax + 0x452f5332]
mov bp, dx
sub bp, word [eax + 0x452f5334]
mov bx, cx
sub bx, word [eax + 0x452f5336]
sub bp, si
mov word [0x453c0a20], si
mov word [0x45400ef8], di
sub bx, di
add eax, 0x48
cmp eax, 0x1b0
jb 0x10020b20
mov eax, dword [0x453c0598]
or eax, 0x20000
cmp eax, 0x2720000
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jne 0x10020d0f
mov word [0x453c0a20], 8
mov word [0x45400ef8], 0x10
mov esi, 0x452f54a2
mov edi, 0x21
lea esp, [esp]
movzx ecx, word [esi - 2]
sub ecx, 0x80000000
cmp dword [0x453c0598], ecx
jne 0x10020d4e
push esi
push 0x452f6ac8
call fcn.1001cbf0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 8
add esi, 0x16
sub edi, 1
jne 0x10020d20
mov edi, 0x452f6a70
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020d9d
cmp dword [0x453e0ce0], edx
jne 0x10020d7d
mov dword [0x453e0ce0], 0x452c83f0
cmp byte [0x453c09e0], 0x45
jne 0x10020d9d
xor eax, eax
cmp dword [0x453c0688], eax
sete al
add eax, eax
add eax, eax
or al, 2
or dword [0x453e0cec], eax
mov edi, 0x452f95bc
mov esi, 0x453c09e0
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020e13
push 0x1400
push 0xf00
push 0x10
push 0x10
call fcn.1001cf30
fcomp dword [0x452f95b8]
mov bp, word [0x453c09c0]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x10020e0c
mov cl, byte [0x452f95b4]
xor eax, eax
mov dword [0x453c0ad0], eax
mov word [0x45400ef8], ax
mov eax, dword [0x452f95b0]
mov bx, 0x1e0
mov word [0x45400ee6], bx
mov dword [0x453c09e0], eax
mov byte [0x453c09e4], cl
jmp 0x10020e13
mov bx, word [0x45400ee6]
cmp dword [0x45400ee8], 0
je 0x10020e5e
movzx edx, bx
movzx eax, bp
add edx, edx
cmp edx, eax
jge 0x10020e34
fld qword [0x452f8518]
fstp qword [0x453c0a68]
cmp bx, bp
jbe 0x10020e45
fld qword [0x452f8a20]
fstp qword [0x453c0a68]
push 0
mov dword [0x453c0ad0], 0
call fcn.1001cd50
add esp, 4
jmp 0x10021bee
mov edi, 0x452f6ac8
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020eea
cmp dword [0x453e0d1c], 0xf
jne 0x10020eea
movzx eax, bp
cmp eax, 0xd10
je 0x10020e8f
cmp eax, 0xf20
je 0x10020e94
jmp 0x10020ea0
add bp, 0xffbe
add bp, 0xfffa
mov word [0x453c09c0], bp
cmp bx, bp
jbe 0x10020ec2
add bx, bp
mov ax, bx
sub ax, bp
mov bp, ax
sub bx, bp
mov word [0x453c09c0], bp
mov word [0x45400ee6], bx
mov eax, 3
mov dword [0x453c0ad0], 0
mov dword [0x453c05a0], eax
mov dword [0x453c0ad8], eax
mov dword [0x453e0ce0], 0x452c48e0
jmp 0x10021bee
mov edi, 0x452f95a0
mov esi, 0x453c09e0
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020f41
mov bx, 0x265
mov bp, 0x356
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ee4], 0x380
mov dword [0x453c05a0], 4
mov dword [0x453c0ad0], 0xe1e4e1e4
mov dword [0x453e0ce0], 0x452c36b0
jmp 0x10021bee
mov edi, 0x452f9590
mov esi, 0x453c09e0
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10023428
mov edi, 0x452f957c
mov esi, 0x453c09e0
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10023428
mov edi, 0x452f956c
mov esi, 0x453c09e0
mov ecx, 0xe
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020fa8
mov bx, 0x3c8
mov bp, 0x50a
mov word [0x45400ee4], 0x528
mov dword [0x453c0ad0], 0x1b4e4b1e
jmp 0x1002344f
mov eax, 0x10
mov edi, 0x452f955c
mov esi, 0x453c09e0
mov ecx, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020fd6
mov bx, 0x400
mov bp, 0x610
mov dword [0x453c0ad0], 0x1e4b4e1b
jmp 0x1002344f
mov edi, 0x452f9548
mov esi, 0x453c09e0
mov ecx, 0x13
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002340f
mov edi, 0x452f9538
mov esi, 0x453c09e0
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002340f
mov edi, 0x452f9528
mov esi, 0x453c09e0
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021047
call fcn.10003960
test eax, eax
je 0x10021be0
mov eax, dword [0x452f9520]
mov cx, word [0x452f9524]
mov dword [0x453c09ea], eax
mov word [0x453c09ee], cx
jmp 0x10021be0
mov edi, 0x452f950c
mov esi, 0x453c09e0
mov ecx, 0x13
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021087
movzx ecx, bx
add ecx, eax
mov word [0x45400ef8], ax
mov dword [0x45400e00], eax
mov eax, 0x5c
mov dword [0x45400e08], ecx
mov word [0x453c0a20], ax
mov dword [0x45400e0c], eax
jmp 0x10021bee
mov edi, 0x452f94f8
mov esi, 0x453c09e0
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100210d1
mov eax, 0x11
mov word [0x45400ef8], ax
mov dword [0x45400e00], eax
movzx eax, word [0x453c0680]
mov dword [0x45400e08], eax
mov dword [0x45400e0c], 0x50
mov dword [0x453c0ad0], 0x49494949
jmp 0x10021bee
mov edi, 0x452f94e8
mov esi, 0x453c09e0
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100210f5
mov dword [0x453c0ad0], 0x49494949
jmp 0x10021bee
mov edi, 0x452f94dc
mov esi, 0x453c09e0
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021126
movzx ecx, word [0x453c0c70]
mov dword [0x453c0ad0], 0x61616161
mov dword [0x453e0ce4], ecx
jmp 0x10021bee
mov edi, 0x452f94d8
mov esi, 0x453c09e0
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021164
fld dword [0x453c0ac0]
fmul qword [0x452f94d0]
fstp dword [0x453c0ac0]
fld dword [0x453c0ac8]
fmul qword [0x452f94c8]
fstp dword [0x453c0ac8]
jmp 0x10021bee
mov edi, 0x452f94c0
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021196
fld qword [0x452f8518]
add bp, 0xfffc
fstp qword [0x453c0a68]
mov word [0x453c09c0], bp
jmp 0x10021bee
mov edi, 0x452f94b8
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233f2
mov edi, 0x452f94b4
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233f2
mov edi, 0x452f94b0
mov esi, 0x453c09e0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233f2
mov edi, 0x452f94a8
mov esi, 0x453c09e0
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233f2
mov edi, 0x452f94a4
mov esi, 0x453c09e0
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233d8
mov edi, 0x452f94a0
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233d8
mov edi, 0x452f9498
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233d8
mov edi, 0x452f9490
mov esi, 0x453c09e0
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021274
add bp, 0xffe4
mov word [0x453c09c0], bp
mov word [0x453c0a20], 6
jmp 0x10021bee
mov edi, 0x452f9488
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233c7
mov edi, 0x452f9484
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233c7
mov edi, 0x452f947c
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233b6
mov edi, 0x452f9474
mov esi, 0x453c09e0
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233b6
mov edi, 0x452f9468
mov esi, 0x453c09e0
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233b6
mov edi, 0x452f9460
mov esi, 0x453c09e0
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100233a5
mov edi, 0x452f9458
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100233a5
push 4
push 0x452f9450
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x10023397
mov edi, 0x452f944c
mov esi, 0x453c09e0
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021375
mov bp, word [0x453c09c0]
add bp, 0xffcc
mov word [0x453c09c0], bp
mov word [0x453c0a20], 2
jmp 0x10021be7
push 3
push 0x452f9448
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x1002337f
push 3
push 0x452f9444
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x1002337f
push 3
push 0x452f9440
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x1002337f
mov edi, 0x452f9438
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002140e
cmp dword [0x453e0cec], edx
je 0x10021be0
mov bp, word [0x453c09c0]
add bp, 3
mov ax, bp
add ax, 3
mov word [0x453c09c0], bp
mov word [0x45400ee4], ax
jmp 0x10021be7
mov edi, 0x452f9430
mov esi, 0x453c09e0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002144e
mov bp, word [0x453c09c0]
add bp, 0xfffc
mov word [0x453c0a20], 1
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x94949494
jmp 0x10021be7
push 3
push 0x452f942c
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x10021487
mov bp, word [0x453c09c0]
add bp, 0xfff2
mov word [0x453c0a20], 6
mov word [0x453c09c0], bp
jmp 0x10021be7
push 3
push 0x452f9428
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x100214d5
mov bp, word [0x453c09c0]
cmp bp, 0xcc0
mov bx, word [0x45400ee6]
jne 0x100214c4
mov bp, 0xca0
mov word [0x453c09c0], bp
jmp 0x10021bee
add bp, 0xfff8
mov word [0x453c09c0], bp
jmp 0x10021bee
push 4
push 0x452f9420
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x10021505
mov bp, word [0x453c09c0]
add bp, 0xffe0
mov word [0x453c09c0], bp
jmp 0x10021be7
mov edi, 0x452f6a70
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002153c
cmp word [0x45400ee4], 0xfc0
jne 0x1002153c
push 0x452f9410
push 0x452f6a70
call fcn.1001cbf0
add esp, 8
jmp 0x10021be0
push 9
push 0x452f9404
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x1002159b
cmp byte [0x453c09e9], 0x37
mov dword [0x453e0cec], 0x18
mov dword [0x453c0ad0], 0x94949494
jne 0x10021be0
fld dword [0x45400dec]
fcomp dword [0x452f9400]
fnstsw ax
test ah, 1
jne 0x10021be0
mov dword [0x453e0ce4], 0xff
jmp 0x10021be0
mov ebx, 2
push ebx
push 0x452f93fc
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x100215d6
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bx, 0xfffe
mov word [0x45400ee6], bx
jmp 0x10021bee
mov eax, dword [esp + 0x10]
cmp eax, 0x182004
jne 0x1002160e
push 3
call fcn.1001cd50
add esp, 4
mov dword [0x453e0af0], 0x3f9ab021
mov dword [0x453e0af4], 0x3f8c1206
mov dword [0x453e0afc], 0x3f8e1e4f
jmp 0x10021be0
cmp eax, 0x308040
jne 0x1002163e
fld dword [0x453c0ac0]
fmul dword [0x452f93f8]
fstp dword [0x453c0ac0]
fld dword [0x453c0ac8]
fmul dword [0x452f93f8]
fstp dword [0x453c0ac8]
jmp 0x10021be0
cmp eax, 0x48d000
jne 0x100216c7
mov eax, dword [0x453e0b08]
or eax, dword [0x453e0b0c]
jne 0x10021677
call fcn.10005b50
test eax, eax
je 0x10021677
mov ecx, dword [0x452f93f0]
mov dl, byte [0x452f93f4]
mov dword [0x453c09e0], ecx
mov byte [0x453c09e4], dl
mov edi, 0x452f93f0
mov esi, 0x453c09e0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10021be0
push 3
mov dword [0x453c0ad0], 0xb4b4b4b4
call fcn.1001cd50
add esp, 4
mov dword [0x453e0af0], 0x3f991687
mov dword [0x453e0af4], 0x3f9f7cee
mov dword [0x453e0af8], 0x3f824dd3
jmp 0x10021be0
cmp eax, 0x2ce000
jne 0x10021757
mov ecx, dword [0x453e0b08]
or ecx, dword [0x453e0b0c]
jne 0x10021701
call fcn.10005c30
test eax, eax
jne 0x10021701
mov edx, dword [0x452f93e8]
mov ax, word [0x452f93ec]
mov dword [0x453c09e0], edx
mov word [0x453c09e4], ax
mov edi, 0x452f93e8
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021be0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bx, 0xfffe
mov word [0x45400ee6], bx
mov dword [0x453e0cec], 6
mov dword [0x453c05a0], 4
mov dword [0x453c0ad0], 0x4b4b4b4b
jmp 0x10021bee
cmp eax, 0x48e000
jne 0x1002186f
mov eax, dword [0x453e0b08]
or eax, dword [0x453e0b0c]
jne 0x10021774
call fcn.10005cc0
cmp byte [0x453c09e0], 0x45
jne 0x1002179b
push 0x453c09e1
call fcn.1002e900
add esp, 4
cmp eax, 0xe74
jge 0x1002179b
mov dword [0x453c0ad0], 0x49494949
mov edi, 0x452f93dc
mov esi, 0x453c09e0
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100217c4
mov dword [0x453e0d20], 1
mov dword [0x453c0ad0], 0x16161616
cmp byte [0x45400da0], 0x4f
jne 0x10021be0
push 0x369400
push 0x122400
push 0x20
push 0xc
call fcn.1001cf30
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
or ah, 0xc
push 0x246c48
push 0x246030
push 0x20
push 0xc
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp dword [esp + 0x34]
fldcw word [esp + 0x30]
call fcn.1001cf30
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or ah, 0xc
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp dword [esp + 0x38]
mov edi, dword [esp + 0x38]
push edi
fldcw word [esp + 0x34]
call fcn.1002e759
mov esi, dword [esp + 0x38]
push esi
mov ebx, eax
call fcn.1002e759
add esp, 0x28
cmp eax, ebx
jge 0x10021858
mov esi, edi
mov dword [0x453e0cec], 0x18
test esi, esi
jge 0x10021be0
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021be0
cmp eax, 0x599000
jne 0x100218e9
mov eax, dword [0x453e0b08]
or eax, dword [0x453e0b0c]
jne 0x100218c8
call fcn.10005d60
test eax, eax
je 0x100218c8
mov ecx, dword [0x452f6a9c]
mov edx, dword [0x452f6aa0]
mov eax, dword [0x452f93d0]
mov dword [0x45400da0], ecx
mov ecx, dword [0x452f93d4]
mov dword [0x45400da4], edx
mov dx, word [0x452f93d8]
mov dword [0x453c09e0], eax
mov dword [0x453c09e4], ecx
mov word [0x453c09e8], dx
xor eax, eax
cmp byte [0x45400da0], 0x4d
sete al
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 6]
mov dword [0x453e0cec], ecx
jmp 0x10021be0
cmp eax, 0x600000
jne 0x1002197c
mov edx, dword [0x453e0d24]
push 0
push 0x300000
push edx
call fcn.10028b60
push 0x10000
call fcn.1001ce20
add esp, 0x10
cmp ax, 0x4d4d
mov word [0x453c0590], ax
jne 0x10021be0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bx, 0xfff0
add bp, 0xffe4
mov word [0x45400ef8], 0x10
mov word [0x45400ee6], bx
mov word [0x453c0a20], 0x1c
mov word [0x453c09c0], bp
mov dword [0x453c09c4], 0xf5c0
mov dword [0x45400da0], 0x475349
mov byte [0x453c09e0], 0
jmp 0x10021bf7
mov edi, 0x452f6aac
mov esi, 0x45400da0
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021b09
mov edi, 0x452f93c8
mov esi, 0x453c09e7
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100219e4
mov eax, dword [0x452f93c8]
mov cx, word [0x452f93cc]
mov bx, 0x860
mov bp, 0xb40
mov dword [0x453c09e0], eax
mov word [0x453c09e4], cx
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453e0d20], 6
jmp 0x10021a23
cmp dword [0x453e0ce0], 0x452c83f0
je 0x10021a15
cmp dword [0x45400d84], ebx
jne 0x10021a0b
cmp dword [0x453c0338], 0
mov dword [0x453c09c4], 0x2f00
jne 0x10021a15
mov dword [0x453c09c4], 0x3e00
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
movzx eax, word [0x453c0680]
movzx edx, bx
sub eax, edx
sar eax, 1
and eax, 0xfffe
mov word [0x45400ef8], ax
mov ax, word [0x45400ee4]
movzx ecx, bp
movzx edx, ax
sub edx, ecx
sar edx, 1
and edx, 0xfffe
cmp bp, 0xb20
mov word [0x453c0a20], dx
je 0x10021a67
cmp bp, 0xe50
jne 0x10021a71
mov dword [0x453c0ad0], 0x16161616
cmp bp, 0xfc0
je 0x10021a7f
cmp bp, 0x1358
jne 0x10021a88
mov word [0x453c0a20], 0
cmp bp, 0xd00
jne 0x10021aa5
mov bp, 0xcbe
mov word [0x453c09c0], bp
mov word [0x453c0a20], 0x22
jmp 0x10021ab5
cmp bp, 0x1348
jne 0x10021ab5
mov word [0x453c0a20], 4
mov edi, 0x452f93c0
mov esi, 0x453c09e0
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021ae6
add bp, 2
mov word [0x453c09c0], bp
mov word [0x453c0a20], dx
mov dword [0x453c0ad0], 0x16161616
cmp dword [0x453c0ab0], 0
je 0x10021bee
mov ecx, dword [0x45400d84]
imul cx, ax
mov word [0x45400ee4], cx
jmp 0x10021bee
mov edi, 0x452f93b8
mov esi, 0x453c09e0
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021b42
mov bx, 0x6b0
mov bp, 0x908
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ee4], 0x920
jmp 0x10021e4a
mov edi, 0x452f93b0
mov esi, 0x453c09e0
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10021dee
push 0x452f6a9c
push 0x45400da0
call fcn.1002e715
add esp, 8
test eax, eax
jne 0x10021ea5
cmp dword [0x453e0ce0], eax
jne 0x10021b91
mov dword [0x453c09c4], 0xfff
mov dword [0x453e0ce0], 0x452c7e90
push 8
push 0x452f93a4
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x10021d59
mov edi, 0x452f8d94
mov esi, 0x453c09e0
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021bcc
mov dword [0x453c0ad0], 0x49494949
mov dword [0x453e0d1c], 0xc
mov dword [0x453e0ce0], 0x452c83f0
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
cmp byte [0x453c09e0], 0
jne 0x10021c1f
movzx ecx, bx
push ecx
movzx edx, bp
push edx
push 0x452f939c
push 0x453c09e0
call fcn.1002fb40
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 0x10
cmp dword [0x453c0ad0], 0xffffffff
jne 0x10021c32
mov dword [0x453c0ad0], 0x94949494
cmp dword [0x453c08c4], 0
je 0x10021c5b
push 0x453c09e0
push 0x45400da0
call fcn.1001cbf0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 8
cmp dword [0x453e0ce0], 0x452c97e0
jne 0x10021c90
cmp dword [0x453c08c4], 0
je 0x10021c90
push 0x452f9390
push 0x452f96d8
call fcn.1001cbf0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 8
mov eax, dword [0x453c058c]
test eax, eax
je 0x10021ce9
cmp word [0x453c0a78], 0
jne 0x10021ce9
push 0
push eax
mov eax, dword [0x453e0d24]
push eax
call fcn.10028b60
lea ecx, [esp + 0x4c]
push 1
push ecx
call fcn.100040a0
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
add esp, 0x14
test eax, eax
je 0x10021ce9
mov dx, word [esp + 0x48]
mov ax, word [esp + 0x44]
mov word [0x453c08cc], dx
mov word [0x453c0a78], ax
xor edi, edi
cmp word [0x453c08d4], di
je 0x1002348a
mov esi, dword [0x453c0ab0]
xor ecx, ecx
cmp esi, edi
sete cl
shr bp, cl
mov ax, bp
mov cl, al
mov word [0x453c08d4], ax
not ecx
test cl, 1
je 0x10021d24
mov dword [0x453c0ad0], 0x49494949
fld qword [0x452f84c0]
mov bp, bx
mov cx, si
fstp qword [0x453c0a68]
shr bp, cl
add bp, ax
mov dx, bp
sub dx, 1
mov bx, dx
mov word [0x453c09c0], bp
mov word [0x45400ee6], bx
jmp 0x100234aa
push 5
push 0x452f9388
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x10021e6c
push 5
push 0x452f9380
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x10021e6c
push 6
push 0x452f9378
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
je 0x10021e6c
push 8
push 0x452f936c
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x10021be0
mov al, byte [0x453c09e8]
cmp al, 0x34
jne 0x10021dea
mov bx, 0x6b4
mov bp, 0x900
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jmp 0x10021e39
cmp al, 0x35
jne 0x10021e0f
mov bx, 0x7a4
mov bp, 0xa2f
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ee4], 0xa40
jmp 0x10021e39
cmp al, 0x36
jne 0x10021e2b
mov bx, 0x858
mov bp, 0xb20
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jmp 0x10021e39
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add dword [0x453c0688], 0xe
mov dword [0x453c0ad0], 0x61616161
mov dword [0x453e0ce0], 0x452c7e90
mov dword [0x453c09c4], 0x3df
mov word [0x453c0590], 0x4d4d
jmp 0x10021bee
xor ecx, ecx
cmp byte [0x453c09e0], 0x4d
sete cl
add ecx, 0x453c09e6
push ecx
push 0x452f9360
push 0x453c09f4
call fcn.1002fb40
push 0x453c09f4
push 0x45400da0
call fcn.1001cbf0
add esp, 0x14
jmp 0x10021bd6
mov edi, 0x452f9358
mov esi, 0x453c09e0
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021ed3
mov dword [0x453e0ce0], 0x452c7e90
mov dword [0x453e0ae0], 0xffffffff
jmp 0x10021be0
mov edi, 0x452f9350
mov esi, 0x453c09e0
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100215b7
mov ax, word [0x45400ee4]
mov edi, 0x452f6a3c
mov esi, 0x45400da0
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021f53
cmp ax, 0x1260
jne 0x10021f53
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bx, 0xfff8
mov eax, 8
add bp, 0xfff0
mov word [0x45400ef8], ax
mov word [0x45400ee6], bx
mov word [0x453c0a20], ax
mov word [0x453c09c0], bp
mov dword [0x453e0cec], 0x20
jmp 0x10021bee
mov edi, 0x452f6a3c
mov esi, 0x45400da0
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021f88
cmp word [0x453c0680], 0xe82
jne 0x10021f88
mov bx, word [0x45400ee6]
add bx, 0xffee
mov bp, 0x15a0
jmp 0x10022615
mov edi, 0x452f6a3c
mov esi, 0x45400da0
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021ff5
cmp ax, 0x1600
jne 0x10021ff5
mov ecx, dword [0x453e0d1c]
lea eax, [ecx + 0x20]
mov bp, 0x15c6
sub bp, ax
cmp ecx, 0xc
mov bx, 0xe6e
mov word [0x453c0590], 0x4949
mov word [0x45400ee6], bx
mov word [0x45400ef8], 2
mov word [0x453c0a20], ax
mov word [0x453c09c0], bp
jne 0x10021bee
mov dword [0x453e0cec], 0x50
jmp 0x10021bee
mov edi, 0x452f934c
mov esi, 0x453c09e0
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022073
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
add bp, 0xfffa
add bx, 0xffec
cmp bp, 0xe62
mov word [0x453c0590], 0x4949
mov word [0x45400ee6], bx
mov word [0x45400ef8], 2
mov word [0x453c09c0], bp
jbe 0x10021bee
add bx, 0xfff6
add bp, 0xffd2
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ef8], 8
jmp 0x10021bee
mov edi, 0x452f9344
mov esi, 0x453c09e0
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100220d7
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
add bp, 0xfff6
add bx, 0xfffd
cmp bp, 0xe86
mov word [0x453c0590], 0x4949
mov word [0x45400ee6], bx
mov word [0x45400ef8], 2
mov word [0x453c09c0], bp
jbe 0x10021bee
add bx, 0xffe4
add bp, 0xffc8
jmp 0x10022057
push 0x452f933c
push 0x453c09e0
call fcn.10027d70
add esp, 8
test eax, eax
je 0x1002210a
mov eax, dword [0x452f933c]
mov cx, word [0x452f9340]
mov dword [0x453c09e0], eax
mov word [0x453c09e4], cx
jmp 0x10021be0
mov edi, 0x452f9334
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022160
mov bx, 0xbe5
mov bp, 0xfe6
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ef8], 3
mov word [0x453c0590], 0x4949
mov dword [0x453c0ad0], 0x49494949
mov dword [0x453e0ce0], 0x452c7e90
jmp 0x10021bee
mov edi, 0x452f9328
mov esi, 0x453c09e0
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022184
mov dword [0x453e0ce4], 0x10
jmp 0x10021be0
mov edi, 0x452f9324
mov esi, 0x453c09e0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100221c0
mov bx, word [0x453c0680]
mov bp, word [0x453c09c0]
sub bx, 2
mov word [0x45400ef8], 2
mov word [0x45400ee6], bx
jmp 0x10021bee
mov edi, 0x452f931c
mov esi, 0x453c09e0
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100221ff
fld qword [0x452f84b0]
push 0xff
push 1
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x452f84b8]
fstp qword [esp]
call fcn.1000d270
add esp, 0x18
jmp 0x10021be0
mov edi, 0x452f8cd8
mov esi, 0x45400da0
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022362
cmp dword [0x453e0ce0], 0x452c4720
jne 0x1002222e
mov dword [0x453e0ce0], 0x452c7a50
mov ax, word [0x45400ee4]
cmp ax, 0x1c5e
jne 0x10022271
mov bx, 0x1544
mov bp, 0x1c50
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ef8], 4
mov word [0x453c0a20], 7
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021bee
cmp ax, 0x1cf2
jne 0x100222ae
mov bx, 0x157e
mov bp, 0x1ca0
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ef8], 4
mov word [0x453c0a20], 0x29
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021bee
cmp ax, 0x2354
jne 0x100222fb
mov eax, 0x100
add dword [0x453e0ce4], eax
mov bx, 0x1a3c
mov bp, 0x2304
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov word [0x45400ef8], 8
mov word [0x453c0a20], 0x28
mov dword [0x453e0cec], eax
mov dword [0x453c09c4], 0x8101
jmp 0x10021bee
cmp ax, 0xffa
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
jne 0x10021bee
mov eax, dword [0x452f9314]
mov cl, byte [0x452f9318]
add bx, 0xfffa
add bp, 0xfff6
mov dword [0x453c09e0], eax
mov byte [0x453c09e4], cl
mov word [0x45400ef8], 6
mov word [0x45400ee6], bx
mov word [0x453c0a20], 3
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021bee
mov edi, 0x452f6cf4
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022398
cmp dword [0x453e0ce0], edx
jne 0x10022389
mov dword [0x453e0ce0], 0x452c7e90
mov dword [0x453c09c4], 0x3fff
jmp 0x10021be0
mov edi, 0x452f788c
mov esi, 0x45400da0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002268a
mov ecx, dword [0x453c0688]
mov edx, dword [0x453e0d24]
push eax
push ecx
push edx
mov dword [0x453c09c4], 0x3fff
call fcn.10028b60
lea eax, [esp + 0x4c]
push 1
push eax
call fcn.100040a0
add esp, 0x14
test eax, eax
je 0x100223f3
cmp dword [esp + 0x40], 0xf
jne 0x100223f3
mov dword [0x453c09c4], 0x1fff
mov ecx, dword [0x453c0ad8]
cmp ecx, 1
jbe 0x1002240a
mov dword [0x453c0ad0], 0
jmp 0x10022419
movzx edx, word [0x453c0680]
cmp dword [0x453c0684], edx
jae 0x1002242f
mov ax, word [0x45400efc]
mov dword [0x453e0ce0], 0x452c7c40
mov word [0x45400ee4], ax
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
mov dx, bp
or dx, bx
cmp dx, 0x800
jne 0x10022513
cmp ecx, 1
jne 0x100224d0
mov eax, dword [0x452f930c]
mov edx, dword [0x452f9300]
mov dword [0x453c0ad0], ecx
mov cl, byte [0x452f9310]
mov dword [0x45400e90], eax
mov eax, dword [0x452f9304]
mov byte [0x45400e94], cl
mov cx, word [0x452f9308]
mov dword [0x453c09e0], edx
mov dl, byte [0x452f930a]
mov bx, 0x7f0
mov bp, 0x7e0
mov dword [0x453c09e4], eax
mov word [0x453c09e8], cx
mov byte [0x453c09ea], dl
mov word [0x45400ef8], 8
mov word [0x453c0a20], 0x12
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jmp 0x10021bee
mov eax, dword [0x452f849c]
mov cl, byte [0x452f84a0]
mov bx, 0x7ec
mov bp, 0x7e6
mov dword [0x453c09e0], eax
mov byte [0x453c09e4], cl
mov word [0x45400ef8], 0xa
mov word [0x453c0a20], 0x10
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jmp 0x10021bee
movzx edx, bp
movzx eax, bx
add edx, eax
cmp edx, 0x1454
jne 0x100225db
cmp byte [0x453c09e0], 0
jne 0x10022546
mov edx, dword [0x452f848c]
mov eax, dword [0x452f8490]
mov dword [0x453c09e0], edx
mov dword [0x453c09e4], eax
cmp bp, bx
jbe 0x10022571
mov word [0x45400ef8], 6
mov word [0x453c0a20], 0x20
mov bx, 0x800
mov bp, 0xc00
mov dword [0x453c0ad0], 0x61616161
jmp 0x10022595
mov word [0x453c0a20], 6
mov word [0x45400ef8], 0x20
mov bp, 0x800
mov bx, 0xc00
mov dword [0x453c0ad0], 0x16161616
fld dword [0x452f8514]
mov word [0x453c09c0], bp
fld dword [0x453c0ac0]
mov word [0x45400ee6], bx
fucompp
fnstsw ax
test ah, 0x44
jnp 0x100225cc
cmp byte [0x453c09e0], 0x56
je 0x100225cc
mov dword [0x45400d84], ecx
jmp 0x10021bee
mov dword [0x453c0ad0], 0
jmp 0x10021bee
cmp bp, 0x844
jne 0x10022632
mov ecx, dword [0x452f847c]
mov edx, dword [0x452f8480]
mov dword [0x453c09e0], ecx
mov dword [0x453c09e4], edx
mov word [0x45400ef8], 0x1e
add bx, 0xffc4
mov word [0x453c0a20], 0x37
mov bp, 0x7d6
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x49494949
jmp 0x10021bee
cmp bp, 0xc63
jne 0x10021bee
mov eax, dword [0x452f847c]
mov ecx, dword [0x452f8480]
mov dword [0x453c09e0], eax
mov eax, 0x18
add bx, 0xffd0
mov bp, 0xc33
mov dword [0x453c09e4], ecx
mov word [0x45400ef8], ax
mov word [0x45400ee6], bx
mov word [0x453c0a20], ax
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x16161616
jmp 0x10021bee
mov edi, 0x452f6a78
mov esi, 0x45400da0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002323c
mov edi, 0x452f8b24
mov esi, 0x45400da0
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002323c
mov edi, 0x452f92f8
mov esi, 0x453c09e0
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002270a
mov bx, 0x6b6
mov bp, 0x900
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x16161616
mov dword [0x453e0ce0], 0x452c83f0
mov dword [0x453e0cec], 0x1e
jmp 0x10021bee
mov edi, 0x452f6a60
mov esi, 0x45400da0
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022884
mov bx, word [0x45400ee6]
mov eax, dword [0x453c08d8]
mov cl, bl
and ecx, 1
add bx, cx
test eax, eax
mov word [0x45400ee6], bx
je 0x10022747
mov dword [0x453c0ad0], eax
mov bp, word [0x453c09c0]
cmp bp, 0x1004
jne 0x1002275b
mov bp, 0x1000
jmp 0x10022766
cmp bp, 0xff0
jne 0x1002276d
mov bp, 0xfd8
mov word [0x453c09c0], bp
mov eax, dword [0x453e0ce0]
cmp eax, 0x452c7e90
jne 0x10022783
mov dword [0x453e0cec], 4
mov edi, 0x452f92f0
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov dword [0x453e0d1c], 0xc
je 0x10022844
mov edi, 0x452f92e8
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10022844
mov edi, 0x452f92e0
mov esi, 0x453c09e0
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100227fa
add bp, 0xffe2
cmp eax, 0x452c7e90
mov word [0x453c09c0], bp
jne 0x10021bee
mov dword [0x453c09c4], 0xf79
jmp 0x10021bee
mov edi, 0x452f92d8
mov esi, 0x453c09e0
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10021bee
mov ecx, dword [esp + 0x1c]
add ecx, 0xff5c6800
mov dword [0x453c058c], 0xa39800
mov dword [0x453c05a4], ecx
mov word [0x453c0a78], 0x1e0
mov word [0x453c08cc], 0x280
jmp 0x10021bee
add bp, 0xffec
cmp eax, 0x452c7e90
mov word [0x453c09c0], bp
jne 0x10021bee
xor edx, edx
mov dword [0x453c08b0], edx
mov dword [0x453c08b4], edx
mov dword [0x453c08b8], edx
mov dword [0x453c09c4], 0xfc3
mov dword [0x453c08bc], edx
jmp 0x10021bee
mov edi, 0x452f9708
mov esi, 0x453c09e0
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100228d2
mov bx, 0x7ff
mov bp, 0xc00
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x61616161
mov dword [0x453c0688], 0x1a00
mov dword [0x453e0ce0], 0x452c83f0
jmp 0x10021bee
mov edi, 0x452f92cc
mov esi, 0x453c09e0
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022948
mov eax, dword [0x452f92c4]
mov cl, byte [0x452f92c8]
mov bp, 0xcd8
mov word [0x453c09c0], bp
mov word [0x453c0a20], 5
mov dword [0x45400e1c], 0xffffffef
mov dword [0x453c0688], 0xd27c0
mov dword [0x453e0ce0], 0x452cb260
mov dword [0x453c0ad0], 0x9c9c9c9c
mov dword [0x453c05a0], 4
mov dword [0x45400e90], eax
mov byte [0x45400e94], cl
jmp 0x10021be7
mov edi, 0x452f92bc
mov esi, 0x453c09e0
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022994
mov bp, 0xc25
mov word [0x453c09c0], bp
mov word [0x453c0a20], 0x3b
mov dword [0x45400e04], 9
mov dword [0x453c0688], 0xc03c0
mov dword [0x453e0ce0], 0x452cb260
jmp 0x10021be7
xor eax, eax
mov ax, word [0x45400ee4]
mov edi, 0x452f6a2c
mov esi, 0x45400da0
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x100229e0
cmp ax, 0xf90
jne 0x100229e0
push 0x452f92b4
push 0x452f6a2c
call fcn.1001cbf0
mov bp, 0xf55
add esp, 8
mov word [0x453c09c0], bp
mov word [0x453c0590], 0x4d4d
jmp 0x10021be7
mov edi, 0x452f6a2c
mov esi, 0x45400da0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022a13
cmp ax, 0x1580
jne 0x10022a13
mov bp, word [0x453c09c0]
add bp, 0xfff8
mov word [0x453c09c0], bp
jmp 0x10021be7
mov edi, 0x452f6a2c
mov esi, 0x45400da0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022a46
cmp ax, 0x17a0
jne 0x10022a46
mov bp, word [0x453c09c0]
add bp, 0xffe8
mov word [0x453c09c0], bp
jmp 0x10021be7
mov edi, 0x452f8d1c
mov esi, 0x453c09e0
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022ac6
mov bp, word [0x453c09c0]
cmp bp, 0xf28
mov bx, word [0x45400ee6]
jne 0x10022aa4
mov bp, word [0x45400ee4]
add bx, 0xffff
add bp, 1
mov word [0x45400ee6], bx
mov word [0x45400ee4], bp
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021bee
mov word [0x453c0590], 0x4d4d
mov dword [0x453e0cec], 2
mov dword [0x453c0ad0], 0x61616161
jmp 0x10021bee
mov edi, 0x452f92a8
mov esi, 0x453c09e0
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022afa
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bx, 0xfffc
mov word [0x45400ee6], bx
jmp 0x10021bee
mov edi, 0x452f92a0
mov esi, 0x453c09e0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10022b5d
fld qword [0x452f9298]
add word [0x45400ee6], 0xfffc
add word [0x453c09c0], 0xffe0
push 0xff
push 1
sub esp, 0x10
fstp qword [esp + 8]
mov word [0x45400ef8], 4
fld qword [0x452f84a8]
mov word [0x453c0a20], 0x20
fstp qword [esp]
call fcn.1000d270
add esp, 0x18
jmp 0x10021be0
mov edi, 0x452f95b0
mov esi, 0x453c09e0
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100231a1
mov edi, 0x452f928c
mov esi, 0x453c09e0
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100231a1
push 9
push 0x452f9280
push 0x453c09e0
call fcn.10027cb0
add esp, 0xc
test eax, eax
jne 0x10022bd0
xor ecx, ecx
cmp dword [0x453c0688], 0x15000
setge cl
sub ecx, 1
and ecx, 0xffffe000
add ecx, 0x17000
mov dword [0x453c0688], ecx
jmp 0x10021bd6
push 0x452f6a88
push 0x45400da0
call fcn.1002e715
add esp, 8
test eax, eax
jne 0x10022faa
cmp dword [0x453c0ad0], 0xffffffff
jne 0x10022bfd
mov dword [0x453c0ad0], 0x61616161
push 6
push 0x452f9278
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x10022c2a
mov edi, 0x452f96e8
mov esi, 0x453c09e0
mov ecx, 0x10
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10023002
mov bx, 0x200
mov bp, 0x300
push 2
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c0688], 0xe30
mov dword [0x453e0ce0], 0x452c97e0
mov dword [0x453c0ad0], 0x61616161
call fcn.1001cd50
add esp, 4
jmp 0x10021bee
push 9
push 0x452f91d8
push 0x453c09e0
call fcn.10027c60
add esp, 0xc
test eax, eax
jne 0x100230ec
cmp dword [0x453c0ad0], 0
mov word [0x453c0590], 0x4949
je 0x100231e2
cmp dword [0x453c0688], 0
je 0x100231e2
mov eax, dword [0x453e0d24]
push 0
push 0xa8
push eax
call fcn.10028b60
push 0x100
push 0x453c0ae0
call fcn.10002e40
add esp, 0x14
jmp 0x10023207
fld qword [0x452f91d0]
push 0xff
push 1
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x452f84a8]
fstp qword [esp]
call fcn.1000d270
add esp, 0x18
cmp dword [0x453c0ad0], 0
mov bp, word [0x453c09c0]
mov bx, word [0x45400ee6]
je 0x1002322d
mov dword [0x453e0ce0], 0x452ca0e0
jmp 0x10021bee
mov dword [0x453e0ce0], 0x452ca220
jmp 0x10021bee
movzx eax, word [0x45400ee4]
lea ecx, [eax*8]
mov eax, 0x92492493
imul ecx
mov eax, dword [esp + 0x1c]
sub eax, dword [0x453c0688]
add edx, ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv ecx
movzx esi, word [0x453c0680]
mov dword [esp + 0x18], esi
cmp eax, esi
jne 0x10023283
mov dword [0x453e0ce0], 0x452c8aa0
cmp dword [0x453e0ce0], 0
jne 0x100232a0
mov dword [0x453e0ce0], 0x452c7e90
mov dword [0x453e0cec], 4
mov bx, word [0x45400ee6]
mov ax, word [0x453c0680]
add bx, 0xc
cmp bx, ax
mov dword [0x45400ef4], 1
mov word [0x45400ee6], bx
jbe 0x100232d1
mov bx, ax
mov word [0x45400ee6], bx
mov bp, word [0x453c09c0]
mov dx, word [0x45400ef8]
mov cx, word [0x453c0a20]
xor eax, eax
jmp 0x100232f0
movsx edi, word [eax + 0x452f51d8]
movzx esi, word [0x45400ee4]
cmp esi, edi
jne 0x1002332b
movsx esi, word [eax + 0x452f51da]
cmp dword [esp + 0x18], esi
jne 0x1002332b
add bp, word [eax + 0x452f51e0]
mov cx, word [eax + 0x452f51dc]
mov dx, word [eax + 0x452f51de]
add bx, word [eax + 0x452f51e2]
add eax, 0xc
cmp eax, 0x114
jb 0x100232f0
mov eax, dword [0x453c0ad0]
mov word [0x45400ef8], dx
movzx edx, dx
add edx, edx
add eax, 0xffffffff
xor edx, eax
mov word [0x453c0a20], cx
and edx, 3
and ecx, 1
xor edx, ecx
movzx eax, byte [edx + 0x452f91c8]
imul eax, eax, 0x1010101
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c0ad0], eax
jmp 0x10021bee
mov bp, word [0x453c09c0]
add bp, 0xffff
mov word [0x453c09c0], bp
jmp 0x10021be7
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add bp, 0xffd2
mov word [0x453c09c0], bp
jmp 0x10021bee
add bp, 0xffd4
mov word [0x453c09c0], bp
jmp 0x10021bee
add bp, 0xffd6
mov word [0x453c09c0], bp
jmp 0x10021bee
add bp, 0xfffc
mov word [0x453c09c0], bp
mov word [0x453c0a20], 2
jmp 0x10021bee
add bx, 0xfffd
add bp, 0xfffc
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
jmp 0x10021bee
mov dword [0x453c05a0], 4
mov dword [0x453c0ad0], 0xb4b4b4b4
jmp 0x10021bee
fld qword [0x452f91c0]
mov bx, 0x305
fstp qword [0x453c0a68]
mov bp, 0x3c0
mov word [0x45400ee4], 0x3e0
mov dword [0x453c0ad0], 0x1e4e1e4e
mov word [0x45400ee6], bx
mov word [0x453c09c0], bp
mov dword [0x453c05a0], 4
mov dword [0x453e0d1c], 0xa
mov dword [0x453e0ce0], 0x452c83f0
mov dword [0x453e0cec], 0x28
jmp 0x10021bee
cmp word [0x453c0680], bx
jae 0x1002349a
mov word [0x453c0680], bx
cmp word [0x45400ee4], bp
jae 0x100234aa
mov word [0x45400ee4], bp
mov ecx, dword [0x453e0d1c]
cmp ecx, edi
jne 0x100234bf
mov ecx, 0xc
mov dword [0x453e0d1c], ecx
cmp dword [0x453c09c4], edi
jne 0x100234d6
mov eax, 1
shl eax, cl
sub eax, 1
mov dword [0x453c09c4], eax
mov eax, dword [0x453e0ce0]
cmp eax, edi
je 0x10023505
cmp bx, 0x16
jb 0x10023505
cmp bp, 0x16
jb 0x10023505
cmp ecx, 0x10
ja 0x10023505
mov ecx, 4
cmp dword [0x453c0ad8], ecx
ja 0x10023505
cmp dword [0x453c05a0], ecx
jbe 0x1002350b
mov dword [0x45400d84], edi
cmp eax, 0x452c9fc0
jne 0x10023544
mov ecx, dword [0x45400de4]
push 0x452f91b0
push ecx
push 0x452f918c
push 0x3ea
call fcn.100285e0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 0x10
mov dword [0x45400d84], edi
mov eax, dword [0x453e0ce0]
cmp eax, 0x452c9fc0
je 0x10023557
cmp eax, 0x452c9fc0
jne 0x10023589
mov edx, dword [0x45400de4]
push 0x452f9184
push edx
push 0x452f918c
push 0x3ea
call fcn.100285e0
mov bx, word [0x45400ee6]
mov bp, word [0x453c09c0]
add esp, 0x10
mov dword [0x45400d84], edi
cmp byte [0x45400e90], 0
mov esi, dword [0x453c05a0]
jne 0x100235be
cmp esi, 3
mov ecx, 0x452f917c
je 0x100235a7
mov ecx, 0x452f9174
mov edx, 0x45400e90
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x100235b0
cmp word [0x453c0680], di
jne 0x100235ce
mov word [0x453c0680], bx
cmp word [0x45400ee4], di
jne 0x100235de
mov word [0x45400ee4], bp
mov ecx, dword [0x453c0420]
xor eax, eax
cmp esi, 4
jl 0x1002369d
lea edx, [esi - 3]
fld dword [eax*4 + 0x45400d40]
add eax, 4
cmp eax, edx
fmul qword [ecx + 0x750]
fstp dword [eax*4 + 0x45400d30]
fld dword [eax*4 + 0x45400d50]
fmul qword [ecx + 0x758]
fstp dword [eax*4 + 0x45400d50]
fld dword [eax*4 + 0x45400d34]
fmul qword [ecx + 0x750]
fstp dword [eax*4 + 0x45400d34]
fld dword [eax*4 + 0x45400d54]
fmul qword [ecx + 0x758]
fstp dword [eax*4 + 0x45400d54]
fld dword [eax*4 + 0x45400d38]
fmul qword [ecx + 0x750]
fstp dword [eax*4 + 0x45400d38]
fld dword [eax*4 + 0x45400d58]
fmul qword [ecx + 0x758]
fstp dword [eax*4 + 0x45400d58]
fld dword [eax*4 + 0x45400d3c]
fmul qword [ecx + 0x750]
fstp dword [eax*4 + 0x45400d3c]
fld dword [eax*4 + 0x45400d5c]
fmul qword [ecx + 0x758]
fstp dword [eax*4 + 0x45400d5c]
jl 0x100235f2
cmp eax, esi
jae 0x100236d0
fld dword [eax*4 + 0x45400d40]
add eax, 1
cmp eax, esi
fmul qword [ecx + 0x750]
fstp dword [eax*4 + 0x45400d3c]
fld dword [eax*4 + 0x45400d5c]
fmul qword [ecx + 0x758]
fstp dword [eax*4 + 0x45400d5c]
jb 0x100236a1
cmp dword [0x453c0ad0], 0x3e7
jbe 0x1002370b
cmp esi, 3
jne 0x1002370b
mov eax, dword [0x453c0ad0]
mov ecx, eax
and ecx, 0xe2222222
add ecx, ecx
mov edx, eax
shr edx, 2
add ecx, ecx
and edx, 0x22222222
or ecx, edx
lea edx, [eax + eax]
and ecx, edx
or eax, ecx
mov dword [0x453c0ad0], eax
cmp dword [0x453e0d20], 0xffffffff
jne 0x1002372d
mov eax, dword [0x45400de8]
cmp eax, 0xffffffff
mov dword [0x453e0d20], eax
jne 0x1002372d
mov dword [0x453e0d20], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret