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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
push edi
push esi
push ebx
call 0x61d98a09
pop ecx
lea edx, [ecx + 0x3ab]
xor eax, eax
push edx
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x11c], ecx
mov eax, dword [ecx - 0x54]
mov dword [ebp - 0x114], eax
cmp dword [ebp + 0x18], 0
je 0x61d98a36
mov edx, dword [eax + 0x1d8]
jmp 0x61d98a3c
mov edx, dword [eax + 0x1d0]
mov dword [ebp - 0x120], edx
mov edi, dword [ebp + 8]
mov ebx, edi
add edi, dword [edi + 0x3c]
mov eax, dword [edi + 0x78]
add eax, ebx
mov dword [ebp - 0x10c], eax
mov edx, dword [edi + 0x7c]
mov dword [ebp - 0x108], edx
mov edi, eax
cmp dword [ebp + 0x10], 0
jne 0x61d98b87
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x61d98b5a
mov esi, ebx
add esi, dword [edi + 0x20]
mov dword [ebp - 0x118], esi
mov edx, dword [edi + 0x18]
cmp edx, 0x20
jb 0x61d98b5a
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x61d98a95
mov ecx, dword [ecx]
lea eax, [ecx - 1]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x110]
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jle 0x61d98ad8
add edx, eax
shr edx, 1
mov cl, byte [ebp + 0x14]
mov eax, dword [esi + edx*4]
cmp byte [ebx + eax], cl
jb 0x61d98ad0
mov dword [ebp - 0x104], edx
jmp 0x61d98aa4
mov dword [ebp - 0x110], edx
jmp 0x61d98aa4
mov eax, dword [ebp - 0x104]
cmp eax, dword [edi + 0x18]
je 0x61d98d29
mov dl, byte [ebp + 0x14]
lea esi, [esi + eax*4]
mov eax, dword [esi]
cmp byte [ebx + eax], dl
jne 0x61d98d29
mov eax, dword [esi]
add eax, ebx
mov cl, byte [ebp + 0x14]
cmp byte [eax], cl
jne 0x61d98d29
push 0
push eax
call dword [ebp - 0x120]
cmp eax, dword [ebp + 0xc]
je 0x61d98b2b
mov edx, dword [edi + 0x18]
add esi, 4
lea edx, [ebx + edx*4]
add edx, dword [edi + 0x20]
cmp esi, edx
jae 0x61d98d29
jmp 0x61d98af8
sub esi, dword [edi + 0x20]
sub esi, ebx
shr esi, 2
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x61d98b3c
mov dword [edx], esi
mov eax, dword [edi + 0x24]
add eax, ebx
movzx eax, word [eax + esi*2]
mov ecx, ebx
add ebx, dword [edi + 0x1c]
cmp eax, dword [edi + 0x14]
ja 0x61d98d29
mov eax, dword [ebx + eax*4]
add eax, ecx
jmp 0x61d98ba3
mov esi, ebx
add esi, dword [edi + 0x20]
mov eax, dword [esi]
add eax, ebx
push 0
push eax
call dword [ebp - 0x120]
cmp eax, dword [ebp + 0xc]
je 0x61d98b2b
mov edx, dword [edi + 0x18]
add esi, 4
lea edx, [ebx + edx*4]
add edx, dword [edi + 0x20]
cmp esi, edx
jae 0x61d98d29
jmp 0x61d98b5f
mov ebx, dword [ebp + 8]
mov eax, ebx
add eax, dword [edi + 0x1c]
mov edx, dword [ebp + 0x10]
sub edx, dword [edi + 0x10]
cmp edx, dword [edi + 0x14]
ja 0x61d98d29
mov eax, dword [eax + edx*4]
add eax, ebx
mov edx, dword [ebp - 0x10c]
cmp eax, edx
jb 0x61d98d01
add edx, dword [ebp - 0x108]
cmp eax, edx
jae 0x61d98d01
lea edi, [ebp - 0x100]
mov esi, eax
xor eax, eax
xor ebx, ebx
mov al, byte [esi]
cmp al, 0x2e
jne 0x61d98bda
mov byte [edi], 0
inc esi
inc edi
mov ebx, edi
jmp 0x61d98bcb
test ebx, ebx
jne 0x61d98be8
cmp al, 0x41
jb 0x61d98be8
cmp al, 0x5a
ja 0x61d98be8
add al, 0x20
mov byte [edi], al
inc esi
inc edi
test al, al
jne 0x61d98bcb
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x334]
test eax, eax
jne 0x61d98c29
push 0
push 0x47
push 0
push 0xb1866570
push dword [edi + 0x368]
call dword [edi + 0x264]
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x334], eax
lea esi, [ebp - 0x100]
push esi
push eax
call dword [edi + 0x70]
test eax, eax
jne 0x61d98c78
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x33c]
test eax, eax
jne 0x61d98c6b
push 0
push 0x4c
push 0
push 0x3fc1bd8d
push dword [edi + 0x368]
call dword [edi + 0x264]
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x33c], eax
push esi
push eax
call dword [edi + 0x70]
test eax, eax
je 0x61d98d29
mov esi, ebx
mov ebx, eax
cmp dword [ebp - 0x100], 0x2d697061
je 0x61d98c94
cmp dword [ebp - 0x100], 0x2d747865
jne 0x61d98ce0
lea eax, [esi - 2]
push eax
call fcn.61d98d49
test eax, eax
je 0x61d98ce0
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x338]
test eax, eax
jne 0x61d98cd4
push 0
push 0x47
push 0
push 0xc97c1fff
push dword [edi + 0x368]
call dword [edi + 0x264]
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x338], eax
push esi
push ebx
push eax
call dword [edi + 0x70]
test eax, eax
je 0x61d98d29
jmp 0x61d98d01
cmp byte [esi], 0x23
je 0x61d98d13
push 0
push esi
call dword [edi + 0x1d0]
movzx edx, byte [esi]
push 0
push edx
push 0
push eax
push ebx
call fcn.61d989db
test eax, eax
je 0x61d98d29
pop dword fs:[0]
add esp, 4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x18
push esi
call fcn.61d98d86
xor edx, edx
push edx
push edx
push eax
push edx
push ebx
call fcn.61d989db
test eax, eax
jne 0x61d98d01
xor eax, eax
pop dword fs:[eax]
add esp, 4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x18