Function at 0x61e7d0
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 0x61faba
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 + 0x78], 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 + 0xa0], 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 0x61e87e
add esi, 0xffffffff
mov ebx, dword [esp + 0xa0]
and ebx, 0x3fffffff
and esi, 1
inc esi
shl esi, 0x1e
or esi, ebx
jmp 0x61e885
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x6c], esi
mov ebx, dword [eax + 0xc0]
mov ebp, dword [eax + 0xbc]
mov esi, dword [eax + 0xc4]
mov edi, dword [eax + 0x9c]
mov dword [esp + 0x7c], edi
movzx edi, byte [eax + 0x1524]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61f9b8
movzx edi, byte [esp + 0x10c]
xchg edi, eax
test al, al
xchg edi, eax
je 0x61e8cb
mov byte [eax + 0x1524], 1
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0xe0], 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 0x61f9a9
cmp dword [eax + 0x1c], 1
jne 0x61ea3f
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 0x61e97d
cmp ebp, 0x20000
jl 0x61e97d
mov dword [eax + 0x14e8], 0x20000
mov edx, dword [eax + 0x14f8]
cmp edx, 0x20000
jb 0x61faaf
mov dword [eax + 0x14f4], 0x20000
jmp 0x61ea3f
lea eax, [0x734760]
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 [0x900e70]
test edx, edx
jne 0x61e9cc
mov dword [ecx + 0x14e4], eax
jmp 0x61e9d7
lea edi, [ecx + 0x14e4]
call fcn.00456ac0
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 + 0x14f4], 0x20000
mov dword [ecx + 0x14f8], 0x20000
mov edx, dword [0x900e70]
test edx, edx
jne 0x61ea26
mov dword [ecx + 0x14f0], eax
jmp 0x61ea31
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 0x61ea4f
cmp edx, 1
jne 0x61ee8a
test ebx, ebx
sete dl
movzx ebx, byte [eax + 0x13e]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], 0
and edx, esi
test dl, dl
je 0x61ea8e
movzx edx, byte [esp + 0x10c]
test dl, dl
jne 0x61ea96
mov byte [esp + 0x110], 1
add esp, 0x104
ret
movzx edx, byte [esp + 0x10c]
nop
mov ebx, dword [esp + 0x78]
shl ebx, 1
add ebx, 0x1f7
cmp dword [eax + 0x148], ebx
jge 0x61eb0d
mov dword [esp + 0xc4], ebx
lea eax, [0x7347e0]
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 [0x900e70]
test ecx, ecx
jne 0x61eaf8
mov dword [edx + 0x144], eax
jmp 0x61eb03
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 0x61faa6
mov byte [esi], bl
movzx ebx, word [eax + 0x13c]
cmp ebp, 1
jbe 0x61fa9a
mov dword [esp + 0x94], ebp
mov dword [esp + 0xe4], esi
mov dword [esp + 0x9c], edi
shr bx, 8
mov byte [esi + 1], bl
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [esp + 0xac]
mov dword [esp + 0xc], ecx
call fcn.0061cac0
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 0x61ecb7
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
and esi, ebp
mov ebp, dword [esp + 0x88]
cmp ebp, esi
jb 0x61fa91
mov edi, dword [esp + 0xac]
mov dword [esp + 0xc0], edi
mov ebx, dword [esp + 0x8c]
sub ebx, esi
mov dword [esp + 0xbc], ebx
neg ebx
sar ebx, 0x1f
and ebx, esi
mov edi, dword [esp + 0xe0]
add ebx, edi
mov edi, dword [esp + 0x78]
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 + 0xa8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x58], ebx
call fcn.00617b30
jmp 0x61edf6
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
and esi, ebp
mov ebp, dword [esp + 0x88]
cmp ebp, esi
jb 0x61fa88
mov dword [esp + 0xdc], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov edi, dword [esp + 0xac]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x8c]
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 + 0xe0]
add edx, edi
mov edi, dword [esp + 0x78]
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 + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x48], edx
call fcn.0061c830
mov eax, dword [esp + 0xa8]
shr eax, 3
mov ecx, dword [esp + 0x94]
cmp ecx, eax
jbe 0x61fa83
mov ecx, dword [esp + 0xe4]
movzx eax, byte [eax + ecx]
mov edx, dword [esp + 0x108]
mov word [edx + 0x13c], ax
mov eax, dword [esp + 0xa8]
and eax, 7
mov byte [edx + 0x13e], al
mov dword [esp], edx
call fcn.0061e4a0
mov ecx, dword [esp + 0xa8]
shr ecx, 3
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jb 0x61fa7e
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00620ba0
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 + 0x78]
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 0x61ef86
mov dword [esp + 0x90], edx
lea eax, [0x74f660]
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 0x61ef45
mov ebp, dword [esp + 0x90]
cmp ebx, ebp
jl 0x61ef10
mov ebx, ebp
cmp edx, eax
je 0x61ef4c
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 + 0x90]
jmp 0x61ef4c
mov ebp, dword [esp + 0x90]
mov dword [ecx + 0xcc], ebp
mov edx, dword [esp + 0x84]
mov dword [ecx + 0xd0], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x61ef78
mov dword [ecx + 0xc8], eax
mov edi, dword [esp + 0xfc]
jmp 0x61ef84
mov edi, dword [esp + 0xfc]
call fcn.00456ac0
mov eax, ecx
lea ecx, [eax + 0x88]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x78]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x88]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x8c]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x7c]
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.00625aa0
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 0x61f03b
add ecx, 0xffffffff
mov edx, ebp
and ebp, 0x3fffffff
and ecx, 1
inc ecx
shl ecx, 0x1e
or ecx, ebp
jmp 0x61f03f
mov edx, ebp
mov ecx, edx
mov ebx, dword [eax + 0x90]
sub ebx, edx
cmp dword [eax + 0x1c], 0xa
jl 0x61f0a0
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
movsd xmm0, qword [0x7c9ac4]
movsd qword [esp + 0x18], xmm0
call fcn.006321a0
movzx eax, byte [esp + 0x20]
test al, al
je 0x61f0a7
mov eax, dword [esp + 0x108]
mov ecx, 2
jmp 0x61f0b3
mov eax, dword [esp + 0x108]
mov ecx, 3
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0xcc]
test edx, edx
je 0x61f0f4
mov edx, dword [eax + 0xd8]
test edx, edx
jne 0x61f0f4
mov dword [esp], eax
lea ecx, [esp + 0x78]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 8], ecx
call fcn.0061e590
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x80]
mov edx, dword [eax + 0x1c]
cmp edx, 0xa
jne 0x61f1b4
cmp dword [eax + 0x30], 0xa
jne 0x61fa66
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov ebp, dword [0x7cbe34]
lea esi, [0x7cbe30]
cmp edx, esi
jne 0x61fa50
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x7c]
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.005fe6d0
jmp 0x61f2f6
cmp edx, 0xb
jne 0x61f261
cmp dword [eax + 0x30], 0xa
jne 0x61fa38
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov ebx, dword [eax + 0x88]
mov ebp, dword [eax + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x7c]
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.005fe860
jmp 0x61f2f6
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov ebx, dword [eax + 0x88]
mov ebp, dword [eax + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x7c]
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.005fb5f0
nop
nop
nop
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
cmp ecx, ebx
jl 0x61f30c
mov ebx, ecx
nop
inc ebx
cmp ebx, 0x18
jl 0x61f318
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 0x61f375
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 0x61f386
movzx esi, byte [esp + 0x10c]
xchg esi, eax
test al, al
xchg esi, eax
mov ebp, 0
jne 0x61f3fa
movzx edi, byte [esp + 0x10d]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61f3fa
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x61f3fa
cmp ebx, edx
jb 0x61f3fa
shr ebx, 3
cmp dword [eax + 0xd4], ebx
jae 0x61f3fa
cmp dword [eax + 0xcc], ebx
jge 0x61f3fa
mov dword [esp], eax
call fcn.0061e4a0
movzx eax, byte [esp + 4]
test al, al
je 0x61f3eb
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x88]
mov eax, dword [eax + 0x8c]
test ecx, ecx
je 0x61f3eb
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 0x61f40d
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x61f4e1
mov dword [esp], edx
call fcn.00612e50
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 0x61f4a0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x74f660]
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 [0x900e70]
test edx, edx
jne 0x61f490
mov dword [ebx + 0xc8], eax
jmp 0x61f49c
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 0x61f50b
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 0x61f99a
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 0x61fa20
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 0x61fa08
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 0x61f9f0
nop
mov ebx, edx
shl edx, 1
add edx, 0x1f7
cmp dword [eax + 0x148], edx
jge 0x61f61e
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xb0], edx
lea eax, [0x7347e0]
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 [0x900e70]
test ecx, ecx
jne 0x61f602
mov dword [edx + 0x144], eax
jmp 0x61f60d
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 + 0xa4], edx
movzx edx, word [eax + 0x13c]
test esi, esi
jbe 0x61f9e7
mov byte [edi], dl
movzx edx, word [eax + 0x13c]
cmp esi, 1
jbe 0x61f9db
mov dword [esp + 0x98], 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 + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
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 + 0x80]
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 + 0xa4]
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 + 0x98]
mov dword [esp + 0x60], edi
call fcn.0061d680
mov eax, dword [esp + 0xa4]
shr eax, 3
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x61f9d6
mov ecx, dword [esp + 0xd8]
movzx eax, byte [eax + ecx]
mov edx, dword [esp + 0x108]
mov word [edx + 0x13c], ax
mov eax, dword [esp + 0xa4]
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.0061e4a0
movzx eax, byte [esp + 4]
test al, al
je 0x61f858
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x88]
mov ebp, dword [edx + 0x8c]
test ebx, ebx
je 0x61f85f
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 0x61f85f
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 0x61f8bb
lea eax, [ebx - 1]
mov ebx, dword [esp + 0x7c]
and eax, ebx
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jbe 0x61f9d1
mov ebp, dword [esp + 0xe0]
movzx esi, byte [eax + ebp]
xchg esi, eax
mov byte [edx + 0x13f], al
xchg esi, eax
jmp 0x61f8cd
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xe0]
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 0x61f917
add eax, 0xfffffffe
and eax, ebx
cmp ecx, eax
jbe 0x61f9cc
movzx eax, byte [eax + ebp]
mov ecx, dword [esp + 0x108]
mov byte [ecx + 0x140], al
jmp 0x61f91e
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 + 0xa4]
shr ecx, 3
mov edx, dword [esp + 0x98]
cmp edx, ecx
jb 0x61f9c7
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.00620ba0
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, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x7537e0]
mov dword [esp + 8], eax
call fcn.00408d90
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
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.0061e7d0