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

Disassembly:
mov eax, 0x3888
call fcn.005c3610
mov eax, dword [0x6f1550]
xor eax, esp
mov dword [esp + 0x3884], eax
mov eax, dword [esp + 0x3894]
mov ecx, dword [esp + 0x3898]
push ebp
mov ebp, dword [esp + 0x3894]
push esi
push edi
mov edi, dword [esp + 0x3898]
mov dx, word [edi + 8]
shr dx, 3
mov dword [esp + 0x5c], eax
movzx eax, dx
mov dword [esp + 0x24], eax
movzx eax, word [ebp + 0x28c6]
xor esi, esi
cmp ax, si
mov dword [esp + 0x50], ebp
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], eax
jne 0x54622e
pop edi
pop esi
xor al, al
pop ebp
mov ecx, dword [esp + 0x3884]
xor ecx, esp
call fcn.005bf6a4
add esp, 0x3888
ret
mov cl, byte [ebp + 0x28c8]
test cl, cl
jne 0x546252
pop edi
pop esi
mov al, 0xa
pop ebp
mov ecx, dword [esp + 0x3884]
xor ecx, esp
call fcn.005bf6a4
add esp, 0x3888
ret
movzx cx, cl
cmp ax, cx
jb 0x546238
movzx ax, byte [ebp + 2]
cmp ax, 1
push ebx
mov word [esp + 0x3884], si
jbe 0x54629e
lea esi, [eax - 1]
lea ecx, [esp + 0x3886]
lea edx, [ebp + 5]
movzx esi, si
nop
movzx bx, byte [edx]
imul bx, word [esp + 0x28]
add bx, word [ecx - 2]
add edx, 1
mov word [ecx], bx
add ecx, 2
sub esi, 1
jne 0x546280
xor esi, esi
cmp byte [edi + 5], 0
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
je 0x5462bd
mov edx, 0x659010
mov cl, 0x16
jmp 0x5462c4
mov edx, 0x659008
mov cl, 6
movzx cx, cl
cmp cx, si
jbe 0x546956
mov dword [esp + 0x20], edx
movzx edx, cx
mov dword [esp + 0x28], edx
lea esp, [esp]
cmp byte [ebp], 0
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
mov byte [esp + 0x7c], dl
mov byte [esp + 0x11], 0
jbe 0x546740
lea esp, [esp]
movzx ecx, byte [esp + 0x11]
movzx edx, word [ebp + ecx*2 + 0x792]
mov dword [esp + 0x44], ecx
movzx ecx, word [ebp + ecx*2 + 0x790]
sub edx, ecx
test edx, edx
mov byte [esp + 0x12], 0
jle 0x54672c
mov dword [esp + 0x3c], 0
test ax, ax
mov dword [esp + 0x40], 0
jbe 0x5466f8
movzx eax, word [esp + 0x40]
cmp byte [eax + ebp + 0x1e78], 0
lea ecx, [eax + ebp + 0x1e78]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x58], ecx
jbe 0x5466df
movzx dx, byte [esp + 0x11]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov word [esp + 0x3a], dx
mov dword [esp + 0x64], ecx
jmp 0x546390
movzx ecx, word [esp + 0x2c]
mov eax, dword [esp + 0x64]
mov dx, word [esp + 0x3a]
add eax, ecx
cmp word [ebp + eax*2 + 0xbb8], dx
ja 0x5466c3
cmp word [ebp + eax*2 + 0x1338], dx
jbe 0x5466c3
movzx edi, word [esp + 0x40]
lea eax, [edi + 0x11]
mov edx, eax
shl edx, 4
sub edx, eax
lea eax, [ebp + edx*8]
mov bl, byte [eax + ecx]
mov edx, dword [esp + 0x7c]
mov byte [esp + 0x18], bl
mov ecx, dword [esp + 0x18]
push ecx
push edx
call fcn.00546070
add esp, 8
test al, al
je 0x5466c3
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
add eax, ecx
mov dx, word [ebp + eax*2 + 0x12]
sub dx, word [ebp + eax*2 + 0x10]
mov dword [esp + 0x78], eax
movzx eax, dx
mov dword [esp + 0x50], eax
movzx eax, byte [edi + ebp + 5]
cmp bl, 5
setb cl
add eax, eax
add eax, eax
cdq
lea ecx, [ecx + ecx + 2]
movzx esi, cl
idiv esi
movzx edx, bl
mov byte [esp + 0x27], cl
movzx esi, ax
mov al, byte [edx + 0x659028]
mov dl, byte [ebp + 0x28c8]
cmp al, dl
mov dword [esp + 0x74], esi
mov byte [esp + 0x4c], al
jb 0x54644e
mov byte [esp + 0x4c], dl
test si, si
mov dword [esp + 0x14], 0
jbe 0x5466c3
mov ebx, dword [esp + 0x14]
movzx eax, si
imul eax, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
movzx eax, word [esp + 0x50]
mov dword [esp + 0x50], eax
jmp 0x546484
mov cl, byte [esp + 0x27]
movzx edx, bx
add edx, dword [esp + 0x80]
cmp edx, dword [esp + 0x50]
jge 0x5466c3
movzx dx, byte [esp + 0x12]
imul dx, si
movzx ax, cl
mov ecx, dword [esp + 0x78]
add dx, bx
imul dx, ax
movzx eax, word [esp + 0x40]
add dx, word [esp + eax*2 + 0x3884]
add dx, word [ebp + ecx*2 + 0x10]
cmp word [esp + 0x70], 0
movzx edi, dx
mov dword [esp + 0x5c], edi
jne 0x54668f
mov ax, word [esp + 0x34]
movzx edx, byte [esp + 0x4c]
movzx ecx, ax
add edx, ecx
movzx ecx, word [esp + 0x48]
cmp edx, ecx
jg 0x54654e
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
movzx eax, bx
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x4c]
push edx
push eax
lea esi, [esp + esi*4 + 0x208c]
push esi
call fcn.005460c0
movzx cx, byte [esp + 0x58]
mov eax, dword [esp + 0x74]
add word [esp + 0x40], cx
movzx edx, di
lea ecx, [eax + edx*2]
mov edx, dword [esp + 0x24]
push ecx
push esi
push edx
call fcn.00543a40
add esp, 0x18
mov ecx, esi
call fcn.00545fc0
mov esi, dword [esp + 0x74]
add ebx, 1
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
jmp 0x5466ae
cmp ax, word [esp + 0x48]
jae 0x546674
mov al, byte [esp + 0x48]
sub al, byte [esp + 0x34]
movzx edi, word [esp + 0x1c]
mov byte [esp + 0x6c], al
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
lea edi, [edi + edi*2]
add edi, edi
push eax
add edi, edi
push ecx
lea ebp, [esp + edi + 0x208c]
push ebp
call fcn.005460c0
mov dl, byte [esp + edi + 0x208c]
add byte [esp + edi + 0x2098], dl
lea ebx, [esp + edi + 0x2098]
add esp, 0xc
mov ecx, ebp
call fcn.00545fc0
mov al, byte [ebx - 0xc]
cmp al, 0x20
mov byte [esp + 0x13], al
lea esi, [ebp - 0xc]
mov cl, al
jle 0x54663e
sub cl, 0x20
lea edi, [esp + edi + 0x2088]
call fcn.00545da0
add eax, dword [edi]
mov dword [edi - 0xc], eax
mov al, byte [esi + 8]
cmp al, 0x20
jg 0x5465ff
jl 0x5465eb
movzx ecx, al
mov eax, dword [esi]
sub ecx, 0x20
shr eax, cl
mov ecx, dword [ebp]
add ecx, eax
mov dword [esi], ecx
jmp 0x546659
mov ecx, 0x20
sub ecx, eax
mov eax, dword [esi]
shl eax, cl
mov ecx, dword [ebp]
add ecx, eax
mov dword [esi], ecx
jmp 0x546659
movsx edx, al
lea eax, [edx - 0x20]
cmp eax, 0x20
jge 0x54662d
or eax, 0xffffffff
mov ecx, 0x40
sub ecx, edx
shr eax, cl
and eax, dword [esi + 4]
shl eax, cl
lea ecx, [edx - 0x20]
mov edx, dword [esi]
shr edx, cl
mov ecx, dword [ebp]
or eax, edx
add ecx, eax
mov dword [esi], ecx
jmp 0x546659
mov eax, dword [esi + 4]
lea ecx, [edx - 0x40]
shr eax, cl
mov ecx, dword [ebp]
add ecx, eax
mov dword [esi], ecx
jmp 0x546659
call fcn.00545da0
add eax, dword [ebp]
mov edx, dword [esp + edi + 0x2088]
mov dword [esi], eax
lea eax, [esp + edi + 0x2088]
mov dword [eax - 0xc], edx
mov al, byte [esp + 0x13]
add al, byte [esp + 0x6c]
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x74]
mov byte [ebx - 0xc], al
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx eax, word [esp + 0x48]
push ecx
push edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x78], 1
push 0
jmp 0x54669e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0x1c]
push eax
push edi
push ecx
lea edx, [esp + 0x90]
push edx
call fcn.00546180
add esp, 0x10
add dword [esp + 0x30], 1
add ebx, 1
cmp bx, si
mov dword [esp + 0x14], ebx
jb 0x546480
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
movzx dx, byte [ecx]
add eax, 1
cmp ax, dx
mov dword [esp + 0x2c], eax
jb 0x546390
mov ecx, dword [esp + 0x40]
movzx ax, byte [ebp + 2]
add ecx, 1
cmp cx, ax
mov dword [esp + 0x40], ecx
jb 0x546341
mov cl, byte [esp + 0x12]
mov edx, dword [esp + 0x44]
movzx esi, word [ebp + edx*2 + 0x792]
movzx edx, word [ebp + edx*2 + 0x790]
add cl, 1
mov byte [esp + 0x12], cl
movzx ecx, cl
mov dword [esp + 0x3c], ecx
add ecx, ecx
sub esi, edx
add ecx, ecx
cmp ecx, esi
jl 0x546330
mov cl, byte [esp + 0x11]
add cl, 1
cmp cl, byte [ebp]
mov byte [esp + 0x11], cl
jb 0x546300
mov ecx, 1
add dword [esp + 0x20], ecx
sub dword [esp + 0x28], ecx
jne 0x5462e0
mov esi, dword [esp + 0x1c]
test si, si
je 0x546956
movzx eax, word [esp + 0x30]
movzx edi, si
cdq
idiv edi
mov ebp, ecx
mov dword [esp + 0x28], edi
movzx eax, ax
cmp ax, bp
jb 0x5468f4
movzx edx, ax
mov dword [esp + 0x18], 0
mov dword [esp + 0x3c], edx
lea esp, [esp]
test si, si
jbe 0x5468e6
movzx eax, word [esp + 0x30]
sub eax, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], edi
movzx eax, word [esp + 0x18]
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], eax
movzx eax, word [esp + 0x20]
add eax, dword [esp + 0x14]
movzx esi, word [esp + 0x2c]
cdq
idiv edi
cmp esi, dword [esp + 0x58]
movzx eax, dx
jge 0x5468b8
shl esi, 4
cmp byte [esp + esi + 0x85], 0
lea ecx, [esp + esi + 0x85]
mov dword [esp + 0x5c], ecx
jne 0x546899
movzx eax, ax
lea ebp, [eax + eax*2]
add ebp, ebp
add ebp, ebp
cmp byte [esp + ebp + 0x208c], 0
jle 0x546899
cmp byte [esp + esi + 0x90], 0
lea eax, [esp + esi + 0x90]
mov dword [esp + 0x54], eax
je 0x54683f
lea ecx, [esp + esi + 0x88]
push ecx
lea edi, [esp + ebp + 0x2088]
call fcn.00545fe0
add esp, 4
movzx edx, word [esp + esi + 0x86]
mov eax, dword [esp + 0x68]
mov bl, byte [esp + ebp + 0x208c]
lea ecx, [eax + edx*2]
movzx edx, byte [esp + esi + 0x84]
push ecx
lea edi, [esp + ebp + 0x2088]
push edi
push edx
call fcn.00543a40
add esp, 0xc
test al, al
jl 0x54687c
mov eax, dword [esp + 0x5c]
mov byte [eax], 1
jmp 0x546899
mov ecx, dword [edi]
mov edx, dword [edi + 4]
lea eax, [esp + esi + 0x88]
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov byte [edx], bl
mov eax, dword [esp + 0x20]
add dword [esp + 0x2c], 1
mov edi, dword [esp + 0x28]
add eax, 1
cmp ax, word [esp + 0x1c]
mov dword [esp + 0x20], eax
jb 0x5467c1
mov ebp, 1
add dword [esp + 0x14], ebp
sub dword [esp + 0x44], ebp
jne 0x5467b0
lea esi, [esp + 0x2084]
mov ebx, edi
mov ecx, esi
call fcn.00545fc0
add esi, 0xc
sub ebx, ebp
jne 0x5468d4
mov esi, dword [esp + 0x1c]
add dword [esp + 0x18], esi
sub dword [esp + 0x3c], ebp
jne 0x546790
xor ecx, ecx
xor eax, eax
test si, si
jbe 0x546923
lea ecx, [ecx]
test cx, cx
jne 0x546956
movzx ecx, ax
lea ecx, [ecx + ecx*2]
movsx dx, byte [esp + ecx*4 + 0x208c]
add eax, ebp
cmp ax, si
movzx ecx, dx
jb 0x546900
test cx, cx
jne 0x546956
movzx ecx, word [esp + 0x30]
sub ecx, edi
xor edx, edx
xor eax, eax
test ecx, ecx
jle 0x54695a
test dx, dx
jne 0x546956
movzx esi, ax
shl esi, 4
cmp byte [esp + esi + 0x85], dl
jne 0x546948
mov edx, ebp
add eax, ebp
movzx esi, ax
cmp esi, ecx
jl 0x546932
test dx, dx
je 0x54695a
mov al, 0xa
jmp 0x54695c
xor al, al
mov ecx, dword [esp + 0x3894]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.005bf6a4
add esp, 0x3888
ret