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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x61d643
sub esp, 0xc4
mov edx, dword [esp + 0xc8]
mov dword [edx + 0x40], 0
movzx ebx, byte [edx + 0x30]
test bl, bl
je 0x61ce68
mov byte [edx + 0x30], 0
mov ebx, dword [edx + 0x28]
cmp dword [edx + 0x20], ebx
jbe 0x61d282
mov dword [esp + 0x50], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x70], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61ce0f
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x61ce06
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xc8]
mov byte [ebp + edx - 1], cl
jmp 0x61d605
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x61ce53
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xc8]
add ecx, 0xffffffe1
mov edi, 0xffffffff
adc edi, 0
mov byte [ebp + edx - 1], 0x1f
jmp 0x61d502
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0xcc]
call fcn.00464b1e
call fcn.0061d650
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
test al, al
je 0x61cf61
cmp ecx, 0x7f
setb bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0xc8]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x60], eax
mov edi, edx
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0x3c]
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x61cf1b
lea ebx, [eax + 1]
cmp edx, ebx
jae 0x61cf0b
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add ecx, 0xffffff81
adc edi, 0xffffffff
mov byte [ebx + esi - 1], 0x7f
jmp 0x61d190
lea ebx, [eax + 1]
cmp edx, ebx
jae 0x61cf58
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
mov byte [ebx + esi - 1], cl
jmp 0x61d12c
lea edi, [esp + 0xb0]
lea esi, [esp + 0xcc]
call fcn.00464b1e
movzx eax, byte [esp + 0xc0]
test al, al
je 0x61cf8b
mov ecx, dword [esp + 0xc8]
xor eax, eax
jmp 0x61cfbc
lea edi, [esp + 0x9c]
lea esi, [esp + 0xcc]
call fcn.00464b1e
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0xa8]
add eax, 0x20
mov ecx, dword [esp + 0xc8]
cmp dword [ecx + 0x20], eax
setae al
test al, al
je 0x61cfec
mov byte [esp + 0x3b], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0xcc]
call fcn.00464b1e
call fcn.0061e430
movzx eax, byte [esp + 0x3b]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x44]
test edx, edx
sete bl
mov ebp, dword [esp + 0x40]
test ebp, ebp
mov esi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x61d065
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x40]
mov ebp, dword [ecx + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
lea edi, [esp + 0xc]
lea esi, [esp + 0xcc]
call fcn.00464b1e
mov byte [esp + 0x20], al
call fcn.0061d7f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x61d05b
mov dword [ebx + 0x3c], eax
jmp 0x61d0cc
lea edi, [ebx + 0x3c]
call fcn.004643a0
jmp 0x61d0cc
mov ebx, dword [ecx + 0x3c]
mov ebp, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
mov ebx, esi
lea esi, [esp + 0xcc]
call fcn.00464b1e
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x28], al
call fcn.0061d900
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x61d0c4
mov dword [ebx + 0x3c], eax
jmp 0x61d0cc
lea edi, [ebx + 0x3c]
call fcn.004643a0
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x40]
mov esi, dword [ebx + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x61d117
mov ebx, dword [esp + 0xc8]
cmp dword [ebx + 0x40], eax
je 0x61d117
mov ecx, dword [0x8b26c8]
mov edx, dword [0x8b26cc]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], edx
add esp, 0xc4
ret
cmp ebx, eax
jbe 0x61d167
movzx ecx, byte [esi + eax]
or ecx, 0xffffff80
mov byte [esi + eax], cl
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], edx
mov edx, dword [0x8d9190]
test edx, edx
jne 0x61d156
mov dword [ecx + 0x3c], esi
jmp 0x61d160
lea edi, [ecx + 0x3c]
mov eax, esi
call fcn.004643a0
mov ebx, ecx
jmp 0x61d0cc
mov ecx, ebx
call fcn.00464420
mov ebp, ecx
and ecx, 0x7f
or ecx, 0x80
mov byte [edx + esi - 1], cl
shr ebp, 7
mov ecx, edi
shl ecx, 0x19
or ecx, ebp
shr edi, 7
mov ebp, edx
mov edx, ebx
mov ebx, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x90], esi
cmp ecx, 0x80
xchg ebp, ebx
setae bl
xchg ebp, ebx
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
seta dl
and esi, ebp
or edx, esi
test dl, dl
je 0x61d220
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x74]
cmp ebx, edx
jb 0x61d1d4
mov esi, dword [esp + 0x90]
jmp 0x61d16e
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x60]
jmp 0x61d16e
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x74]
cmp ebx, edx
jb 0x61d234
mov esi, dword [esp + 0x90]
jmp 0x61d273
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov eax, dword [esp + 0x60]
mov byte [edx + esi - 1], cl
mov ecx, ebx
mov ebx, edx
mov edx, ecx
jmp 0x61d12c
mov dword [edx + 0x28], 0xffffffff
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x3c], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x68], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x61d30d
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x61d2f8
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xc8]
add ecx, 0xffffffe1
mov edi, 0xffffffff
adc edi, 0
mov byte [ebp + edx - 1], 0x1f
jmp 0x61d3c4
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x61d351
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xc8]
mov byte [ebp + edx - 1], cl
cmp ebp, eax
jbe 0x61d389
movzx ecx, byte [edx + eax]
or ecx, 0x20
mov byte [edx + eax], cl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ebx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x61d378
mov dword [esi + 0x3c], edx
jmp 0x61d382
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.004643a0
mov edx, esi
jmp 0x61ce68
mov ecx, ebp
call fcn.00464420
and ecx, 0x7f
or ecx, 0x80
mov byte [edx + ebp - 1], cl
mov ecx, dword [esp + 0x4c]
shr ecx, 7
shl edi, 0x19
or ecx, edi
mov edi, dword [esp + 0x58]
shr edi, 7
mov dword [esp + 0x88], eax
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x4c], ecx
cmp ecx, 0x80
setae dl
test edi, edi
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61d461
mov dword [esp + 0x58], edi
mov edx, dword [esp + 0x64]
inc edx
mov ebx, dword [esp + 0x78]
cmp ebx, edx
jb 0x61d410
mov ebp, dword [esp + 0x94]
jmp 0x61d390
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0x58]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x61d390
mov edx, dword [esp + 0x64]
inc edx
mov ebx, dword [esp + 0x78]
cmp ebx, edx
jb 0x61d477
mov ebp, dword [esp + 0x94]
jmp 0x61d4bf
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xc8]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x68]
mov byte [edx + ebp - 1], cl
mov ecx, edx
mov edx, ebp
mov ebp, ecx
jmp 0x61d355
and ecx, 0x7f
or ecx, 0x80
mov byte [edx + ebp - 1], cl
mov ecx, dword [esp + 0x50]
shr ecx, 7
shl edi, 0x19
or ecx, edi
mov edi, dword [esp + 0x5c]
shr edi, 7
mov dword [esp + 0x80], eax
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x98], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x7c], ebx
cmp ecx, 0x80
setae dl
test edi, edi
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
or ebx, ebp
test bl, bl
je 0x61d59d
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x6c]
inc edx
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jb 0x61d54c
mov ebp, dword [esp + 0x98]
jmp 0x61d4ce
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0x5c]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x70]
jmp 0x61d4ce
mov edx, dword [esp + 0x6c]
inc edx
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jb 0x61d5b3
mov ebp, dword [esp + 0x98]
jmp 0x61d5fb
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6873e0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xc8]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x70]
mov byte [edx + ebp - 1], cl
mov ecx, edx
mov edx, ebp
mov ebp, ecx
cmp ebp, eax
jbe 0x61d63b
mov ecx, ebx
movzx ebx, byte [edx + eax]
or ebx, 0x20
mov byte [edx + eax], bl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ecx
mov ebx, dword [0x8d9190]
test ebx, ebx
jne 0x61d62a
mov dword [esi + 0x3c], edx
jmp 0x61d634
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.004643a0
mov edx, esi
jmp 0x61d282
mov ecx, ebp
call fcn.00464420
nop
call fcn.00462f90
jmp fcn.0061cd50