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

Disassembly:
sub esp, 0x64
push ebx
push ebp
xor eax, eax
push esi
push edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x78]
xor eax, eax
mov ecx, 0xa
lea edi, [esp + 0x4c]
xor edx, edx
rep stosd dword es:[edi], eax
xor ecx, ecx
lea eax, [ebp + 0xa4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
jmp 0x61bf60
mov esi, dword [esp + 0x80]
cmp byte [ecx + esi], 0
je 0x61c008
mov esi, dword [eax]
xor ecx, ecx
mov dword [esp + 0x40], ecx
inc edx
xor ebx, ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
xor edi, edi
mov edi, edi
mov edx, dword [esp + 0x84]
cmp byte [edi + edx], 0
jne 0x61bfe4
mov al, byte [edi + ebp + 0x144]
mov byte [esp + 0x38], al
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00614dd0
push eax
call fcn.0061ac30
add esp, 8
cmp al, 7
jb 0x61bfe4
xor edx, edx
mov dl, byte [edi + ebp + 0x144]
push edx
call fcn.00614dd0
movzx eax, al
mov cl, byte [esp + eax + 0x44]
lea eax, [esp + eax + 0x44]
add esp, 4
test cl, cl
jne 0x61bfe4
mov byte [eax], 1
inc ebx
inc edi
cmp edi, 0xb
jl 0x61bf90
cmp ebx, 1
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
jne 0x61c008
mov eax, dword [esp + 0x14]
mov byte [esp + eax + 0x4c], cl
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
inc ecx
add eax, 4
cmp ecx, 0x28
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
jl 0x61bf60
mov ecx, dword [esp + 0x84]
xor eax, eax
lea ebx, [ebx]
cmp byte [eax + ecx], 0
je 0x61c037
inc edx
inc eax
cmp eax, 0xb
jl 0x61c030
mov eax, dword [esp + 0x14]
cmp eax, 0xb
jle 0x61c04f
mov eax, 0xb
mov dword [esp + 0x14], eax
cmp edx, 0xb
jl 0x61c059
sub edx, 0xb
jmp 0x61c05b
xor edx, edx
cmp eax, edx
mov dword [esp + 0x20], edx
jle 0x61c304
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x61c1b0
mov eax, 1
lea ecx, [esp + 0x4c]
sub eax, ecx
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov ebp, dword [esp + 0x10]
movzx edx, byte [esp + ebp + 0x4c]
mov eax, dword [esp + 0x78]
mov ebx, dword [eax + edx*4 + 0xa4]
xor esi, esi
xor edi, edi
push 1
push 0
push edi
push ebx
call fcn.0061ad20
add esp, 0x10
cmp eax, esi
jle 0x61c0bc
mov esi, eax
inc edi
cmp edi, 0xb
jl 0x61c0a8
mov dword [esp + 0x18], esi
xor edi, edi
xor esi, esi
lea ebx, [ebx]
push esi
push ebx
call fcn.00614e60
movzx ecx, al
add esp, 8
add edi, ecx
inc esi
cmp esi, 0xb
jl 0x61c0d0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
lea eax, [esp + ebp + 0x4c]
add eax, edx
cmp eax, ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], eax
jge 0x61c19b
mov eax, dword [esp + 0x24]
movzx ecx, byte [esp + eax + 0x4c]
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + ecx*4 + 0xa4]
xor edi, edi
xor esi, esi
jmp 0x61c120
push 1
push 0
push esi
push ebx
call fcn.0061ad20
add esp, 0x10
cmp eax, edi
jle 0x61c134
mov edi, eax
inc esi
cmp esi, 0xb
jl 0x61c120
xor ebp, ebp
xor esi, esi
mov edi, edi
push esi
push ebx
call fcn.00614e60
movzx eax, al
add esp, 8
add ebp, eax
inc esi
cmp esi, 0xb
jl 0x61c140
mov eax, dword [esp + 0x30]
cmp ebp, eax
jl 0x61c165
jne 0x61c186
cmp edi, dword [esp + 0x18]
jle 0x61c186
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + eax + 0x4c]
mov bl, byte [esp + ecx + 0x4c]
lea eax, [esp + eax + 0x4c]
mov byte [eax], bl
mov byte [esp + ecx + 0x4c], dl
mov dword [esp + 0x18], edi
jmp 0x61c18a
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x24], ecx
jl 0x61c103
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x61c090
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x20]
xor edi, edi
xor ecx, ecx
cmp eax, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], eax
jle 0x61c304
jmp 0x61c1d0
xor edi, edi
cmp dword [esp + 0x28], 3
jg 0x61c304
movzx eax, byte [esp + 0x90]
movzx ebp, byte [esp + ecx + 0x4c]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx + ebp*4 + 0xa4]
xor ebx, ebx
add eax, edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], eax
jmp 0x61c210
mov eax, dword [esp + 0x14]
cmp byte [eax + edi], 0xff
jne 0x61c28c
mov al, byte [esp + 0x8c]
test al, al
jne 0x61c26b
mov ecx, dword [esp + 0x78]
mov dl, byte [edi + ecx + 0x144]
mov byte [esp + 0x2c], dl
mov eax, dword [esp + 0x2c]
push eax
call fcn.00614dd0
push eax
call fcn.0061ac30
movzx eax, al
add esp, 8
cmp eax, 4
jl 0x61c28c
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jne 0x61c25d
inc dword [esp + 0x24]
cmp eax, ecx
jle 0x61c26b
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x78]
xor edx, edx
mov dl, byte [edi + ecx + 0x144]
push edx
push esi
call fcn.0061b2b0
add esp, 8
cmp eax, ebx
jle 0x61c28c
mov ebx, eax
mov dword [esp + 0x18], edi
inc edi
cmp edi, 0xb
jl 0x61c210
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x61c2a6
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x61c2ef
test ebx, ebx
je 0x61c2ef
movzx eax, byte [esp + 0x90]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x7c]
lea esi, [eax + edx]
mov al, byte [esp + ecx + 0x4c]
mov byte [esi + edi], al
mov eax, dword [esp + 0x88]
mov byte [eax + ebp], 1
mov eax, dword [esp + 0x80]
mov byte [eax + ebp], 0
mov eax, dword [esp + 0x84]
mov byte [edx + eax], 1
inc dword [esp + 0x28]
jmp 0x61c2f3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x61c1ce
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 3
mov dword [esp + 0x1c], eax
jl 0x61bf31
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
xor esi, esi
lea ebx, [ebx]
push ebx
push esi
push ebp
push edi
mov al, 1
call fcn.0061bd70
add esp, 0x10
mov byte [esp + esi + 0x4c], al
inc esi
cmp esi, 0xb
jl 0x61c330
movzx ecx, byte [esp + 0x90]
mov edx, dword [esp + 0x7c]
add ecx, edx
add edi, 0x144
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edi
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], 0xb
jmp 0x61c3b0
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0xff
mov dword [esp + 0x28], 0
jne 0x61c482
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax]
cmp ecx, dword [esp + 0x34]
jg 0x61c474
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x88]
add eax, 0xa4
mov edi, eax
mov eax, dword [esp + 0x80]
xor ebx, ebx
sub ebp, eax
jmp 0x61c400
mov edx, dword [esp + 0x80]
lea eax, [ebx + edx]
cmp byte [eax + ebp], 0
jne 0x61c467
cmp byte [eax], 0
je 0x61c467
mov al, byte [esp + 0x8c]
test al, al
mov esi, dword [edi]
jne 0x61c443
mov eax, dword [esp + 0x18]
mov cl, byte [eax]
mov byte [esp + 0x3c], cl
mov edx, dword [esp + 0x3c]
push edx
call fcn.00614dd0
push eax
call fcn.0061ac30
add esp, 8
cmp al, 4
jb 0x61c467
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov cl, byte [eax]
push ecx
push esi
call fcn.0061b2b0
mov ecx, dword [esp + 0x30]
add esp, 8
cmp eax, ecx
jle 0x61c467
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov byte [edx], bl
inc ebx
add edi, 4
cmp ebx, 0x28
jl 0x61c400
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x30], ecx
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
inc edi
inc esi
inc ecx
dec eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], eax
jne 0x61c3b0
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x10], 0
mov eax, edx
mov cl, byte [eax]
cmp cl, 0xff
je 0x61c52e
xor ebx, ebx
cmp byte [esi], bl
movzx ecx, cl
sete bl
mov ebp, ebx
mov ebx, dword [esp + 0x88]
mov byte [ecx + ebx], 1
movzx ecx, byte [eax]
mov byte [ecx + edi], 0
mov byte [esi], 1
xor ecx, ecx
mov edi, edi
cmp dword [esp + 0x10], ecx
je 0x61c500
mov bl, byte [eax]
cmp bl, byte [edx + ecx]
jne 0x61c500
mov byte [esi], 0
inc ecx
cmp ecx, 0xb
jl 0x61c4f0
test ebp, ebp
je 0x61c52e
cmp byte [esi], 0
je 0x61c52e
cmp dword [esp + 0x1c], 3
jge 0x61c52e
movzx ecx, byte [eax]
mov ebx, dword [esp + 0x88]
mov byte [ecx + edi], 1
movzx ecx, byte [eax]
mov byte [ecx + ebx], 0
mov byte [eax], 0xff
mov ecx, dword [esp + 0x10]
inc ecx
inc esi
inc eax
cmp ecx, 0xb
mov dword [esp + 0x10], ecx
jl 0x61c4c4
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x14]
xor esi, esi
mov al, byte [esi + ebp]
cmp al, 0xff
je 0x61c556
movzx edx, al
mov byte [edx + edi], 1
mov eax, dword [esp + 0x84]
push eax
push esi
push edi
push ebx
mov al, 1
call fcn.0061bd70
mov byte [esp + esi + 0x5c], al
mov al, byte [esi + ebp]
add esp, 0x10
cmp al, 0xff
je 0x61c57d
movzx ecx, al
mov byte [ecx + edi], 0
inc esi
cmp esi, 0xb
jl 0x61c548
xor ebx, ebx
mov dword [esp + 0x2c], ebx
lea esp, [esp]
cmp byte [ebp], 0xff
je 0x61c71b
xor esi, esi
lea esp, [esp]
cmp ebx, esi
je 0x61c711
mov edx, dword [esp + 0x14]
mov cl, byte [edx + esi]
cmp cl, 0xff
je 0x61c711
mov al, byte [ebp]
cmp al, cl
jne 0x61c711
inc dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
movzx ecx, al
mov eax, dword [esp + 0x80]
push edx
push ebx
push eax
mov byte [ecx + eax], 1
mov eax, dword [esp + 0x84]
push eax
xor al, al
call fcn.0061bd70
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ecx
movzx edi, al
mov eax, dword [esp + 0x8c]
push esi
push edx
push eax
xor al, al
call fcn.0061bd70
movzx ecx, byte [ebp]
mov edx, dword [esp + 0xa0]
movzx eax, al
add esp, 0x20
cmp edi, eax
mov byte [ecx + edx], 0
je 0x61c643
test edi, edi
jne 0x61c63b
mov eax, dword [esp + 0x14]
mov byte [eax + esi], 0xff
jmp 0x61c711
test eax, eax
je 0x61c70d
movzx ecx, byte [ebp]
mov edx, dword [esp + 0x78]
mov edi, dword [edx + ecx*4 + 0xa4]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cl, byte [eax + ebx]
push ecx
push edi
call fcn.0061b2b0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
xor eax, eax
mov al, byte [edx + esi]
push eax
push edi
call fcn.0061b2b0
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx + ebx]
add esp, 0x10
cmp cl, 3
jne case.0x61c69a.3
mov edx, dword [esp + 0x20]
movzx edx, byte [edx + esi]
dec edx
cmp edx, 6
ja case.0x61c69a.3
movzx edx, byte [edx + 0x61c7cc]
jmp dword [edx*4 + 0x61c7c4]
xor eax, eax
mov edx, dword [esp + 0x20]
cmp byte [edx + esi], 3
jne case.0x61c6bd.3
movzx ecx, cl
dec ecx
cmp ecx, 6
ja case.0x61c6bd.3
movzx ecx, byte [ecx + 0x61c7dc]
jmp dword [ecx*4 + 0x61c7d4]
mov dword [esp + 0x18], 0
mov dl, byte [esp + ebx + 0x4c]
cmp dl, 1
mov edi, 1
ja 0x61c6dc
xor edi, edi
mov cl, byte [esp + esi + 0x4c]
cmp cl, 1
ja 0x61c6e7
xor edi, edi
cmp dl, cl
je 0x61c6ef
test edi, edi
je 0x61c6ff
cmp dword [esp + 0x18], eax
jle 0x61c70d
mov edx, dword [esp + 0x14]
mov byte [edx + esi], 0xff
jmp 0x61c711
cmp dl, cl
jae 0x61c70d
mov eax, dword [esp + 0x14]
mov byte [eax + esi], 0xff
jmp 0x61c711
mov byte [ebp], 0xff
inc esi
cmp esi, 0xb
jl 0x61c5a0
inc ebx
inc ebp
cmp ebx, 0xb
jl 0x61c590
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x84]
xor eax, eax
mov dword [esp + 0x10], ecx
jmp 0x61c740
cmp byte [ecx + eax], 0xff
setne dl
mov byte [eax + esi], dl
inc eax
cmp eax, 0xb
jl 0x61c740
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x78]
xor esi, esi
push edi
push esi
push ebx
push ebp
mov al, 1
call fcn.0061bd70
movzx ecx, byte [esp + esi + 0x5c]
movzx eax, al
add esp, 0x10
cmp eax, ecx
jge 0x61c782
mov byte [esp + esi + 0x4c], al
inc esi
cmp esi, 0xb
jl 0x61c764
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
inc ecx
test eax, eax
mov dword [esp + 0x1c], ecx
jne 0x61c380
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x61c380
mov eax, dword [esp + 0x34]
inc eax
cmp eax, 5
mov dword [esp + 0x34], eax
jle 0x61c370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret