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

Disassembly:
mov ecx, dword [0x1095750]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x7f89b0
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov dword [eax + 0x34], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
xor ecx, ecx
xor edx, edx
jmp 0x7f7ae8
mov eax, dword [esp + 0xfc]
mov ecx, ebp
mov edx, ebx
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], cl
mov dword [esp], eax
call fcn.007f78a0
movzx eax, byte [esp + 5]
test al, al
je 0x7f81bd
movzx ebx, byte [esp + 4]
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x7f7b2c
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x7f7b31
cmp bl, 0x3e
jne 0x7f7b31
jmp 0x7f7f99
movzx ebp, byte [esp + 0x22]
cmp bl, 0x3c
jne 0x7f7b49
movzx esi, byte [esp + 0x104]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x7f7b51
jmp 0x7f802f
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
test edi, edi
jl 0x7f7b66
xchg edi, eax
cmp al, bl
xchg edi, eax
je 0x7f80e7
cmp bl, 0x26
jne 0x7f7f1b
xchg esi, eax
test al, al
xchg esi, eax
jne 0x7f7f1b
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 0x34]
nop
sub edx, dword [eax + 0x3c]
mov dword [esp + 0xac], edx
mov dword [esp], ecx
mov byte [esp + 4], 0x26
call fcn.00481060
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.007f79b0
movzx eax, byte [esp + 5]
test al, al
je 0x7f8195
movzx eax, byte [esp + 4]
cmp al, 0x23
je 0x7f7e78
nop
cmp al, 0xa
jne 0x7f7be1
mov ecx, dword [esp + 0xfc]
dec dword [ecx + 0x7c]
jmp 0x7f7be8
mov ecx, dword [esp + 0xfc]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
add eax, 0xffffffff
mov dword [ecx + 0x88], eax
adc edx, 0xffffffff
mov dword [ecx + 0x8c], edx
mov dword [esp], ecx
call fcn.007f8ca0
movzx eax, byte [esp + 4]
test al, al
je 0x7f7c26
mov eax, dword [esp + 0xfc]
jmp 0x7f7c38
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
test ecx, ecx
jne 0x7f811d
mov dword [esp], eax
call fcn.007f79b0
movzx eax, byte [esp + 5]
test al, al
je 0x7f80f5
movzx ebx, byte [esp + 4]
cmp bl, 0x3b
je 0x7f7c9e
cmp bl, 0xa
jne 0x7f7c68
mov ebp, dword [esp + 0xfc]
dec dword [ebp + 0x7c]
jmp 0x7f7c6f
mov ebp, dword [esp + 0xfc]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x7f7e64
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x3c]
cmp ecx, eax
jb 0x7f89aa
mov ebx, dword [esp + 0xac]
lea ebp, [ebx + 1]
mov esi, dword [edx + 0x30]
mov edi, dword [edx + 0x38]
sub ecx, eax
sub edi, eax
mov dword [esp + 0x94], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add esi, eax
cmp ecx, ebp
jb 0x7f89a3
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc8], ebp
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x3b
call fcn.00481060
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xac]
sub eax, ecx
mov edx, dword [esp + 0x8c]
sub edx, ecx
dec edx
mov dword [esp + 0xa8], edx
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
mov ebp, dword [esp + 0xc8]
and ebp, eax
mov eax, dword [esp + 0xd0]
add eax, ebp
mov dword [esp + 0xdc], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.007f8e10
movzx eax, byte [esp + 0xc]
test al, al
jne 0x7f7d79
mov ebx, dword [esp + 0xfc]
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x7f7e62
lea eax, [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00454950
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [0x1055484]
lea ebx, [0x874b60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00411bf0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x7f7e2f
mov ebx, dword [esp + 0xfc]
mov ebp, dword [ebx + 0x10]
test ebp, ebp
jne 0x7f7df0
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x7f7e62
lea eax, [0x873f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], ecx
call fcn.00411bf0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0xfc]
jmp 0x7f7e62
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00454e70
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xfc]
mov edx, 1
mov ebp, ebx
mov edi, dword [esp + 0xec]
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x7f873a
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x23
call fcn.00481060
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.007f79b0
movzx eax, byte [esp + 5]
test al, al
je 0x7f816d
movzx ebx, byte [esp + 4]
cmp bl, 0x78
je 0x7f7eb9
mov eax, 0xa
jmp 0x7f7ef3
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x78
call fcn.00481060
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.007f79b0
movzx eax, byte [esp + 5]
test al, al
je 0x7f8145
movzx ebx, byte [esp + 4]
mov eax, 0x10
mov dword [esp + 0xc4], eax
mov ebp, dword [esp + 0xfc]
mov esi, dword [ebp + 0x34]
nop
sub esi, dword [ebp + 0x3c]
mov dword [esp + 0x9c], esi
mov edi, dword [esp + 0xec]
jmp 0x7f858c
mov byte [esp + 0x21], bl
cmp bl, 0xd
je 0x7f7f64
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
jne 0x7f7f34
cmp bl, 0xa
je 0x7f7add
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
call fcn.00481060
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x7f7add
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.00481060
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x7f7add
movzx ebx, byte [esp + 0x104]
test bl, bl
je 0x7f7fb6
mov ebx, dword [esp + 0xfc]
mov eax, 2
jmp 0x7f81d2
lea eax, [0x88e1c0]
mov dword [esp], eax
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
lea ecx, [0x8e91be]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f8004
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0x100]
test ebx, ebx
jge 0x7f806e
nop
mov ebx, dword [esp + 0xfc]
mov dword [ebx + 0x6c], 0x3c
mov ebp, dword [ebx + 0x88]
mov esi, dword [ebx + 0x8c]
add ebp, 0xffffffff
mov dword [ebx + 0x88], ebp
adc esi, 0xffffffff
mov dword [ebx + 0x8c], esi
xor eax, eax
jmp 0x7f81d2
lea eax, [0x88e1c0]
mov dword [esp], eax
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x8e6405]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f80bc
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
xor eax, eax
jmp 0x7f81d2
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x104]
test bl, bl
jne 0x7f8221
mov ebx, dword [esp + 0xfc]
xor eax, eax
mov ecx, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x3c]
nop
cmp ebp, ecx
ja 0x7f8564
mov esi, dword [ebx + 0x30]
mov edx, dword [ebx + 0x38]
sub edx, ebp
sub ecx, ebp
sub ecx, eax
mov eax, edx
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [esi + ebp]
cmp edx, ecx
jb 0x7f855f
mov dword [esp + 0x90], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb8], ecx
mov ebp, ecx
mov esi, edx
mov edi, eax
jmp 0x7f82f0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
cmp dword [0x1046a38], ecx
jne 0x7f82a6
mov edx, dword [eax + 0x78]
mov ebx, dword [0x1046a3c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00404d90
movzx eax, byte [esp + 0xc]
test al, al
je 0x7f82a6
lea eax, [0x88e1c0]
mov dword [esp], eax
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x8e4808]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f82a3
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0xcc]
mov eax, ecx
mov ecx, edx
mov edx, ebp
mov ebp, dword [esp + 0xb8]
test ecx, ecx
je 0x7f853a
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xe8], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0047b2d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, 0xfffd
jne 0x7f8331
cmp ecx, 1
je 0x7f83ad
mov edx, dword [esp + 0xbc]
cmp edx, ecx
jb 0x7f8556
mov ebx, dword [esp + 0xc0]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
sub edx, ecx
mov ecx, dword [esp + 0xe8]
add ecx, ebx
cmp eax, 9
je 0x7f82ce
cmp eax, 0xa
je 0x7f82ce
cmp eax, 0xd
je 0x7f82ce
lea ebx, [eax - 0x20]
cmp ebx, 0xd7df
jbe 0x7f82ce
lea ebx, [eax - 0xe000]
cmp ebx, 0x1ffd
jbe 0x7f82ce
lea ebx, [eax - 0x10000]
cmp ebx, 0xfffff
jbe 0x7f82ce
jmp 0x7f8426
lea eax, [0x88e1c0]
mov dword [esp], eax
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x8d2f4d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f83fb
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], eax
call fcn.0040ac30
mov eax, dword [esp + 4]
lea ecx, [0x870340]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x8dd6e7]
mov dword [esp], eax
mov dword [esp + 4], 0x19
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004e9280
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
lea edx, [0x88e1c0]
mov dword [esp], edx
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x1095848]
test ecx, ecx
jne 0x7f84d2
mov ecx, dword [esp + 0xe0]
jmp 0x7f84e0
call fcn.0046d090
mov ecx, dword [esp + 0xe0]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f850f
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], esi
add esp, 0xf8
ret
mov eax, ecx
mov ecx, edx
call fcn.0046d170
call fcn.0046d150
mov eax, ebp
call fcn.0046d170
movzx ebx, byte [esp + 4]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x9c]
lea ecx, [ebx - 0x30]
cmp cl, 9
jbe 0x7f85ae
cmp eax, 0x10
jne 0x7f85d7
lea ecx, [ebx - 0x61]
cmp cl, 5
jbe 0x7f85ae
cmp eax, 0x10
jne 0x7f85d7
lea ecx, [ebx - 0x41]
cmp cl, 5
ja 0x7f85d7
mov dword [esp], edi
mov byte [esp + 4], bl
call fcn.00481060
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.007f79b0
movzx eax, byte [esp + 5]
test al, al
jne 0x7f856b
jmp 0x7f893d
cmp bl, 0x3b
je 0x7f8613
cmp bl, 0xa
jne 0x7f85e4
dec dword [ebp + 0x7c]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x7f873a
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x3c]
cmp ecx, edx
jb 0x7f899c
mov ebx, dword [ebp + 0x30]
mov ebp, dword [ebp + 0x38]
sub ecx, edx
sub ebp, edx
mov dword [esp + 0x98], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
cmp esi, ecx
ja 0x7f8995
sub ecx, esi
mov eax, dword [esp + 0x98]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
add eax, edx
lea edx, [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00454950
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov byte [esp + 4], 0x3b
call fcn.00481060
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x40
call fcn.0048f220
mov eax, dword [esp + 0x18]
test eax, eax
je 0x7f86d6
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x7f872c
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, 0x10ffff
xchg esi, ebx
setbe bl
xchg esi, ebx
and ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x7f8704
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x7f872c
mov eax, ebx
sar ebx, 0x1f
lea ecx, [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00454e70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, 1
mov ebp, dword [esp + 0xfc]
mov edi, dword [esp + 0xec]
test al, al
jne 0x7f88d7
movzx edx, byte [ebp]
test dl, dl
jne 0x7f8762
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x7f7add
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x3c]
cmp ecx, eax
jb 0x7f8990
mov edx, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x38]
sub ecx, eax
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
add edx, eax
mov eax, dword [esp + 0xac]
cmp eax, ecx
ja 0x7f898b
sub ecx, eax
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
lea eax, [edx + esi]
lea edx, [esp + 0x24]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00454950
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x7f8986
mov eax, dword [esp + 0xc]
lea edx, [ecx + eax - 1]
cmp byte [edx], 0x3b
je 0x7f8804
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x8d4685]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0xf
call fcn.004546b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
lea edx, [0x8dd6ce]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x19
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004546b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe4], ecx
lea edx, [0x88e1c0]
mov dword [esp], edx
call fcn.0040d4a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
mov ecx, dword [0x1095848]
test ecx, ecx
jne 0x7f886f
mov ecx, dword [esp + 0xe4]
jmp 0x7f887d
call fcn.0046d090
mov ecx, dword [esp + 0xe4]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0xdbbb30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x1095848]
test edx, edx
je 0x7f88ac
call fcn.0046d0a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x7f88f7
nop
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x3c], 0
mov byte [ebp + 0x40], 0
jmp 0x7f8915
mov byte [ebp + 0x40], 0
jl 0x7f896e
mov ebx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x3c]
sub ebx, esi
cmp eax, ebx
jg 0x7f896e
add eax, esi
mov ebx, dword [ebp + 0x38]
cmp ebx, eax
jb 0x7f8965
mov dword [ebp + 0x34], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00480b60
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x7f7add
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ecx, eax
mov edx, ebx
call fcn.0046d150
lea eax, [0x870200]
mov dword [esp], eax
lea eax, [0xdb9ca0]
mov dword [esp + 4], eax
call fcn.004399d0
call fcn.0046d110
call fcn.0046d170
call fcn.0046d170
mov eax, esi
call fcn.0046d170
mov eax, edx
call fcn.0046d170
mov eax, ebp
call fcn.0046d170
call fcn.0046d170
nop
call fcn.0046bc90
jmp fcn.007f7aa0