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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x61fb12
sub esp, 0x104
mov ebx, dword [esp + 0x108]
mov ebp, dword [ebx + 0x90]
mov esi, dword [ebx + 0x94]
mov edi, dword [ebx + 0xe4]
mov eax, ebx
mov ebx, dword [ebx + 0xe8]
sub ebp, edi
sbb esi, ebx
nop
mov dword [esp + 0x70], ebp
mov ebx, dword [eax + 0xe8]
mov edi, ebx
shr ebx, 0x1e
test ebx, ebx
mov ecx, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov edx, esi
mov esi, dword [eax + 0xe4]
mov dword [esp + 0x94], esi
shl edi, 2
shr esi, 0x1e
or esi, edi
cmp esi, 2
xchg edi, ebx
seta bl
xchg edi, ebx
test ebx, ebx
sete bl
and ebx, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61e8be
add esi, 0xffffffff
mov ebx, dword [esp + 0x94]
and ebx, 0x3fffffff
and esi, 1
inc esi
shl esi, 0x1e
or esi, ebx
jmp 0x61e8c5
mov esi, dword [esp + 0x94]
mov dword [esp + 0x7c], esi
mov ebx, dword [eax + 0xc0]
mov ebp, dword [eax + 0xbc]
mov esi, dword [eax + 0xc4]
mov edi, dword [eax + 0x9c]
mov dword [esp + 0x88], edi
movzx edi, byte [eax + 0x1524]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61fa10
movzx edi, byte [esp + 0x10c]
xchg edi, eax
test al, al
xchg edi, eax
je 0x61e90e
mov byte [eax + 0x1524], 1
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xc4], ecx
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
mov ebx, dword [eax + 0x24]
cmp ebx, 0x20
sbb ebp, ebp
mov ecx, ebx
mov edi, 1
shl edi, cl
and ebp, edi
mov ebx, dword [esp + 0xc4]
cmp ebx, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edx, edx
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61fa01
cmp dword [eax + 0x1c], 1
jne 0x61ea82
xchg esi, eax
mov byte [esp + 0x67], al
xchg esi, eax
mov ebp, dword [eax + 0x14ec]
mov edi, dword [eax + 0x14e4]
test edi, edi
je 0x61e9c0
cmp ebp, 0x20000
jl 0x61e9c0
mov dword [eax + 0x14e8], 0x20000
mov edx, dword [eax + 0x14f8]
cmp edx, 0x20000
jb 0x61fb07
mov dword [eax + 0x14f4], 0x20000
jmp 0x61ea82
lea eax, [0x7347e0]
mov dword [esp], eax
mov dword [esp + 4], 0x20000
mov dword [esp + 8], 0x20000
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x108]
mov dword [ecx + 0x14e8], 0x20000
mov dword [ecx + 0x14ec], 0x20000
mov edx, dword [0x901e80]
test edx, edx
jne 0x61ea0f
mov dword [ecx + 0x14e4], eax
jmp 0x61ea1a
lea edi, [ecx + 0x14e4]
call fcn.00456ac0
lea eax, [0x734860]
mov dword [esp], eax
mov dword [esp + 4], 0x20000
mov dword [esp + 8], 0x20000
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x108]
mov dword [ecx + 0x14f4], 0x20000
mov dword [ecx + 0x14f8], 0x20000
mov edx, dword [0x901e80]
test edx, edx
jne 0x61ea69
mov dword [ecx + 0x14f0], eax
jmp 0x61ea74
lea edi, [ecx + 0x14f0]
call fcn.00456ac0
mov eax, ecx
mov ebx, dword [esp + 0xc4]
movzx esi, byte [esp + 0x67]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x61ea92
cmp edx, 1
jne 0x61eed3
test ebx, ebx
sete dl
movzx ebx, byte [eax + 0x13e]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x80], 0
and edx, esi
test dl, dl
je 0x61ead1
movzx edx, byte [esp + 0x10c]
test dl, dl
jne 0x61ead9
mov byte [esp + 0x110], 1
add esp, 0x104
ret
movzx edx, byte [esp + 0x10c]
nop
mov ebx, dword [esp + 0x70]
shl ebx, 1
add ebx, 0x1f7
cmp dword [eax + 0x148], ebx
jge 0x61eb50
mov dword [esp + 0xc4], ebx
lea eax, [0x734860]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x148], ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x61eb3b
mov dword [edx + 0x144], eax
jmp 0x61eb46
lea edi, [edx + 0x144]
call fcn.00456ac0
mov eax, edx
movzx edx, byte [esp + 0x10c]
movzx ebx, word [eax + 0x13c]
mov ebp, dword [eax + 0x148]
mov esi, dword [eax + 0x144]
mov edi, dword [eax + 0x14c]
test ebp, ebp
jbe 0x61fafe
mov byte [esi], bl
movzx ebx, word [eax + 0x13c]
cmp ebp, 1
jbe 0x61faf2
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xe0], esi
mov dword [esp + 0xa4], edi
shr bx, 8
mov byte [esi + 1], bl
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [esp + 0x80]
mov dword [esp + 0xc], ecx
call fcn.0061cb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov ebp, dword [ebx + 0x1c]
test ebp, ebp
jne 0x61ecfd
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x88]
and esi, ebp
mov ebp, dword [esp + 0xa8]
cmp ebp, esi
jb 0x61fae9
mov edi, dword [esp + 0x80]
mov dword [esp + 0xc0], edi
mov ebx, dword [esp + 0xac]
sub ebx, esi
mov dword [esp + 0xbc], ebx
neg ebx
sar ebx, 0x1f
and ebx, esi
mov edi, dword [esp + 0xe4]
add ebx, edi
mov edi, dword [esp + 0x70]
mov dword [esp], ebx
sub ebp, esi
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
movzx ebx, byte [esp + 0x10c]
mov byte [esp + 0x10], bl
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x108]
lea ecx, [eax + 0x1160]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [esp + 0x2c], pe_nt_image_headers32
lea ecx, [eax + 0x11e0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], pe_nt_image_headers32
mov dword [esp + 0x38], pe_nt_image_headers32
lea ecx, [eax + 0x14e0]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x12e0]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 0x200
mov dword [esp + 0x48], 0x200
lea ecx, [esp + 0x90]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x58], ebx
call fcn.00617b70
jmp 0x61ee3f
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x88]
and esi, ebp
mov ebp, dword [esp + 0xa8]
cmp ebp, esi
jb 0x61fae0
mov dword [esp + 0xdc], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov edi, dword [esp + 0x80]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0xac]
sub edi, esi
mov dword [esp + 0xbc], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
mov edx, dword [esp + 0xe4]
add edx, edi
mov edi, dword [esp + 0x70]
mov ecx, dword [ebx + 0x14e4]
mov eax, dword [ebx + 0x14e8]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x14ec]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x14f0]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0x14f4]
mov ebx, dword [ebx + 0x14f8]
mov dword [esp], edx
sub ebp, esi
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
movzx edx, byte [esp + 0x10c]
mov byte [esp + 0x10], dl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x48], edx
call fcn.0061c870
mov eax, dword [esp + 0x90]
shr eax, 3
mov ecx, dword [esp + 0x9c]
cmp ecx, eax
jbe 0x61fadb
mov ecx, dword [esp + 0xe0]
movzx eax, byte [eax + ecx]
mov edx, dword [esp + 0x108]
mov word [edx + 0x13c], ax
mov eax, dword [esp + 0x90]
and eax, 7
mov byte [edx + 0x13e], al
mov dword [esp], edx
call fcn.0061e4e0
mov ecx, dword [esp + 0x90]
shr ecx, 3
mov edx, dword [esp + 0xa4]
cmp edx, ecx
jb 0x61fad6
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00620bf0
mov byte [esp + 0x110], 1
add esp, 0x104
ret
lea ecx, [eax + 0xc8]
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 0xcc]
mov ebx, dword [esp + 0x70]
mov ebp, ebx
shr ebx, 0x1f
add ebx, ebp
sar ebx, 1
lea esi, [ebx + edx]
lea ebx, [ebx + edx + 1]
cmp dword [eax + 0xd0], ebx
jge 0x61efcf
mov dword [esp + 0x98], edx
lea eax, [0x750240]
mov dword [esp], eax
mov dword [esp + 4], edx
shr ebp, 2
lea ecx, [ebp + esi + 0x11]
mov dword [esp + 0x84], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0xc8]
mov ebx, dword [ecx + 0xcc]
test edx, edx
je 0x61ef8e
mov ebp, dword [esp + 0x98]
cmp ebx, ebp
jl 0x61ef59
mov ebx, ebp
cmp edx, eax
je 0x61ef95
mov dword [esp + 0xf8], eax
mov dword [esp], eax
mov dword [esp + 4], edx
shl ebx, 4
mov dword [esp + 8], ebx
call fcn.00457450
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x108]
mov ebp, dword [esp + 0x98]
jmp 0x61ef95
mov ebp, dword [esp + 0x98]
mov dword [ecx + 0xcc], ebp
mov edx, dword [esp + 0x84]
mov dword [ecx + 0xd0], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x61efc1
mov dword [ecx + 0xc8], eax
mov edi, dword [esp + 0xfc]
jmp 0x61efcd
mov edi, dword [esp + 0xfc]
call fcn.00456ac0
mov eax, ecx
lea ecx, [eax + 0x88]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0xa8]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xac]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x10], edi
lea edi, [eax + 0x18]
mov dword [esp + 0xf4], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
movzx edx, byte [esp + 0x10c]
mov byte [esp + 0x20], dl
call fcn.00625af0
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0xdc]
mov edx, dword [eax + 0xe0]
mov ebx, edx
shl edx, 2
mov ebp, ecx
shr ecx, 0x1e
or ecx, edx
cmp ecx, 2
seta dl
shr ebx, 0x1e
test ebx, ebx
sete bl
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, edx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x61f087
add ecx, 0xffffffff
mov edx, ebp
and ebp, 0x3fffffff
and ecx, 1
inc ecx
shl ecx, 0x1e
or ecx, ebp
jmp 0x61f08b
mov edx, ebp
mov ecx, edx
mov ebx, dword [eax + 0x90]
sub ebx, edx
cmp dword [eax + 0x1c], 0xa
jl 0x61f0ef
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xac]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
movsd xmm0, qword [0x7c9d4c]
movsd qword [esp + 0x18], xmm0
call fcn.00632160
movzx eax, byte [esp + 0x20]
test al, al
je 0x61f0f6
mov eax, dword [esp + 0x108]
mov ecx, 2
jmp 0x61f102
mov eax, dword [esp + 0x108]
mov ecx, 3
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 0xcc]
test edx, edx
je 0x61f13d
mov edx, dword [eax + 0xd8]
test edx, edx
jne 0x61f13d
mov dword [esp], eax
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 8], ecx
call fcn.0061e5d0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x6c]
mov edx, dword [eax + 0x1c]
cmp edx, 0xa
jne 0x61f200
cmp dword [eax + 0x30], 0xa
jne 0x61fabe
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov ebp, dword [0x7cc0fc]
lea esi, [0x7cc0f8]
cmp edx, esi
jne 0x61faa8
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x88]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
lea ebx, [eax + 0xec]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x28], 0x10
lea ebx, [eax + 0xd8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x30], ebx
lea ebx, [eax + 0xd4]
mov dword [esp + 0x34], ebx
call fcn.005fe660
jmp 0x61f348
cmp edx, 0xb
jne 0x61f2b0
cmp dword [eax + 0x30], 0xa
jne 0x61fa90
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov ebx, dword [eax + 0x88]
mov ebp, dword [eax + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0xac]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
lea ebx, [eax + 0xec]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x2c], 0x10
lea ebx, [eax + 0xd8]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x34], ebx
lea ebp, [eax + 0xd4]
mov dword [esp + 0x38], ebp
call fcn.005fe7f0
jmp 0x61f348
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov ebx, dword [eax + 0x88]
mov ebp, dword [eax + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0xac]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
lea ebx, [eax + 0xec]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x2c], 0x10
lea ebx, [eax + 0xd8]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x34], ebx
lea ebp, [eax + 0xd4]
mov dword [esp + 0x38], ebp
call fcn.005fb580
nop
nop
nop
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
cmp ecx, ebx
jl 0x61f35e
mov ebx, ecx
nop
inc ebx
cmp ebx, 0x18
jl 0x61f36a
mov ebx, 0x18
mov ebp, dword [edx + 0x90]
mov esi, dword [edx + 0xdc]
sub ebp, esi
cmp ebx, 0x20
sbb esi, esi
cmp ecx, 0x20
sbb edi, edi
mov eax, edx
mov edx, 1
shl edx, cl
and edx, edi
add edx, ebp
mov ecx, ebx
mov ebx, 1
shl ebx, cl
and ebx, esi
cmp dword [eax + 0x1c], 4
jge 0x61f3c7
mov ebp, dword [eax + 0xd4]
add ebp, dword [eax + 0xcc]
cmp ebp, 0x2fff
xchg ebp, ebx
setae bl
xchg ebp, ebx
movzx esi, byte [esp + 0x10c]
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x61f3d8
movzx esi, byte [esp + 0x10c]
xchg esi, eax
test al, al
xchg esi, eax
mov ebp, 0
jne 0x61f44c
movzx edi, byte [esp + 0x10d]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61f44c
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x61f44c
cmp ebx, edx
jb 0x61f44c
shr ebx, 3
cmp dword [eax + 0xd4], ebx
jae 0x61f44c
cmp dword [eax + 0xcc], ebx
jge 0x61f44c
mov dword [esp], eax
call fcn.0061e4e0
movzx eax, byte [esp + 4]
test al, al
je 0x61f43d
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x88]
mov eax, dword [eax + 0x8c]
test ecx, ecx
je 0x61f43d
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov byte [eax + 0x14], 0
mov byte [esp + 0x110], 1
add esp, 0x104
ret
mov edx, dword [eax + 0xd8]
test edx, edx
ja 0x61f45f
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x61f533
mov dword [esp], edx
call fcn.00612e80
lea edi, [esp + 0xc8]
lea esi, [esp + 4]
call fcn.00457248
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0xcc]
inc ecx
mov edx, dword [eax + 0xc8]
mov ebx, dword [eax + 0xd0]
cmp ebx, ecx
jae 0x61f4f2
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x750240]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 0xd0], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x61f4e2
mov dword [ebx + 0xc8], eax
jmp 0x61f4ee
mov edi, dword [esp + 0xfc]
call fcn.00456ac0
mov edx, eax
mov eax, ebx
mov dword [eax + 0xcc], ecx
dec ecx
shl ecx, 4
lea edi, [edx + ecx]
lea esi, [esp + 0xc8]
call fcn.00457248
mov ecx, dword [eax + 0xd4]
add ecx, dword [eax + 0xd8]
mov dword [eax + 0xd4], ecx
mov dword [eax + 0xd8], 0
movzx ecx, byte [esp + 0x10c]
test cl, cl
mov esi, ecx
jne 0x61f55d
mov edx, dword [eax + 0xdc]
cmp dword [eax + 0x90], edx
sete dl
mov ebx, dword [eax + 0xe0]
cmp dword [eax + 0x94], ebx
sete bl
and ebx, edx
test bl, bl
jne 0x61f9f2
mov edx, dword [eax + 0x94]
mov ebx, dword [eax + 0xe0]
mov dword [esp + 0xc4], ebx
cmp edx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
mov ecx, edx
mov edx, dword [eax + 0x90]
mov ebx, dword [eax + 0xdc]
cmp edx, ebx
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebp
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x61fa78
cmp edx, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, ebp
or esi, edi
movzx ebp, byte [esp + 0x10c]
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x61fa60
sub edx, ebx
mov ebx, dword [esp + 0xc4]
sbb ecx, ebx
cmp edx, 0x1000000
setbe bl
test ecx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
je 0x61fa48
nop
mov ebx, edx
shl edx, 1
add edx, 0x1f7
cmp dword [eax + 0x148], edx
jge 0x61f670
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xb0], edx
lea eax, [0x734860]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x148], ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x61f654
mov dword [edx + 0x144], eax
jmp 0x61f65f
lea edi, [edx + 0x144]
call fcn.00456ac0
mov eax, edx
mov ebx, dword [esp + 0xc4]
movzx ebp, byte [esp + 0x10c]
movzx edx, byte [eax + 0x13e]
mov esi, dword [eax + 0x148]
mov edi, dword [eax + 0x144]
mov ecx, ebp
mov ebp, dword [eax + 0x14c]
mov dword [esp + 0x8c], edx
movzx edx, word [eax + 0x13c]
test esi, esi
jbe 0x61fa3f
mov byte [edi], dl
movzx edx, word [eax + 0x13c]
cmp esi, 1
jbe 0x61fa33
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0xd8], edi
shr dx, 8
mov byte [edi + 1], dl
mov edx, dword [eax + 0xdc]
mov ebp, dword [eax + 0xe0]
movzx esi, byte [eax + 0x13f]
movzx edi, byte [eax + 0x140]
xchg edi, eax
mov byte [esp + 0x66], al
xchg edi, eax
mov edi, dword [eax + 0xd4]
mov dword [esp + 0xc0], edi
mov edi, dword [eax + 0xc8]
mov dword [esp + 0xf0], edi
mov edi, dword [eax + 0xcc]
mov eax, dword [eax + 0xd0]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x24], ecx
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
movzx ecx, byte [esp + 0x66]
mov byte [esp + 0x29], cl
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 0x12c]
mov dword [esp + 0xec], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 4
mov dword [esp + 0x44], 4
lea ebx, [ecx + 0xec]
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 0x10
mov dword [esp + 0x50], 0x10
lea ebp, [esp + 0x8c]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x68]
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x60], edi
call fcn.0061d6c0
mov eax, dword [esp + 0x8c]
shr eax, 3
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x61fa2e
mov ecx, dword [esp + 0xd8]
movzx eax, byte [eax + ecx]
mov edx, dword [esp + 0x108]
mov word [edx + 0x13c], ax
mov eax, dword [esp + 0x8c]
and eax, 7
mov byte [edx + 0x13e], al
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x94]
mov dword [edx + 0xdc], eax
mov dword [edx + 0xe0], ebx
mov dword [esp], edx
call fcn.0061e4e0
movzx eax, byte [esp + 4]
test al, al
je 0x61f8aa
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x88]
mov ebp, dword [edx + 0x8c]
test ebx, ebx
je 0x61f8b1
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov byte [eax + 0x14], 0
mov edx, dword [esp + 0x108]
jmp 0x61f8b1
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xdc]
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [edx + 0xe0]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, esi
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61f910
lea eax, [ebx - 1]
mov ebx, dword [esp + 0x88]
and eax, ebx
mov ecx, dword [esp + 0xa8]
cmp ecx, eax
jbe 0x61fa29
mov ebp, dword [esp + 0xe4]
movzx esi, byte [eax + ebp]
xchg esi, eax
mov byte [edx + 0x13f], al
xchg esi, eax
jmp 0x61f925
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0xe4]
mov esi, dword [edx + 0xe0]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
mov eax, dword [edx + 0xdc]
cmp eax, 1
seta dl
and edx, esi
or edx, edi
test dl, dl
je 0x61f96f
add eax, 0xfffffffe
and eax, ebx
cmp ecx, eax
jbe 0x61fa24
movzx eax, byte [eax + ebp]
mov ecx, dword [esp + 0x108]
mov byte [ecx + 0x140], al
jmp 0x61f976
mov ecx, dword [esp + 0x108]
mov dword [ecx + 0xcc], 0
mov dword [ecx + 0xd4], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.00457450
mov ecx, dword [esp + 0x8c]
shr ecx, 3
mov edx, dword [esp + 0xa0]
cmp edx, ecx
jb 0x61fa1f
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00620bf0
mov byte [esp + 0x110], 1
add esp, 0x104
ret
mov byte [esp + 0x110], 1
add esp, 0x104
ret
mov byte [esp + 0x110], 0
add esp, 0x104
ret
mov byte [esp + 0x110], 0
add esp, 0x104
ret
call fcn.00456b90
call fcn.00456b50
call fcn.00456b50
call fcn.00456b50
mov eax, 1
mov ecx, eax
call fcn.00456b40
xor eax, eax
mov ecx, eax
call fcn.00456b40
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x7539e0]
mov dword [esp + 8], eax
call fcn.00408d90
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
call fcn.00456b90
call fcn.00456b50
mov eax, esi
mov ecx, ebp
call fcn.00456bb0
mov eax, esi
mov ecx, ebp
call fcn.00456bb0
mov eax, 1
mov ecx, eax
call fcn.00456b40
xor eax, eax
mov ecx, eax
call fcn.00456b40
mov ecx, 0x20000
call fcn.00456b90
nop
call fcn.00455690
jmp fcn.0061e810