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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
cmp byte [edx + 0x59], 1
mov dword [esp + 0x48], ecx
push 4
pop eax
sbb eax, 0
xor ecx, ecx
movzx esi, byte [esp + 0x80]
mov dword [esp + 0x44], edx
mov edi, 0x9edc24
lea ebp, [esp + 0x38]
inc ecx
cmp byte [edx + 0x56], 0
cmove ecx, eax
mov eax, dword [edx + 0x3c]
xor ebx, ebx
mov dword [esp + 0x50], ecx
imul eax, ecx
cmp byte [edx + 0x57], 0
mov edx, dword [esp + 0x70]
mov ecx, 0x9edc34
cmove edi, ecx
sete bl
mov ecx, ebp
push edi
push eax
push dword [esp + 0x7c]
call fcn.0047225f
add esp, 0xc
mov dword [ebp - 4], ebx
mov bl, byte [esp + 0x7c]
sub esi, 1
jb 0x5483be
cmp dword [esp + 0x34], 0
je 0x548389
lea ecx, [esp + 0x38]
call fcn.0052435e
jmp 0x5483af
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x5483ad
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp ecx, edx
cmovb edx, ecx
lea edi, [eax + edx]
sub ecx, edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ecx
jmp 0x5483af
xor eax, eax
test eax, eax
je 0x5483be
test edx, edx
je 0x548372
mov byte [eax], 0
inc eax
dec edx
jmp 0x5483b3
mov eax, dword [esp + 0x44]
mov edx, 0x9eddb4
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
test eax, eax
cmove ecx, eax
mov dword [esp + 0x2c], ecx
call fcn.00411f2d
mov dword [esp + 0x28], eax
mov dword [esp + 8], eax
cmp dword [esp + 0x34], 0
je 0x5483f7
lea ecx, [esp + 0x38]
call fcn.0052435e
mov ebp, edx
jmp 0x54841d
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x54841b
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp ecx, ebp
cmovb ebp, ecx
lea edx, [eax + ebp]
sub ecx, ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
jmp 0x54841d
xor eax, eax
test eax, eax
je 0x54892c
lea ecx, [esp + 0xc]
mov edx, eax
push 0x9eddc4
push dword [esp + 0x54]
push ebp
call fcn.0047225f
add esp, 0xc
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x44]
movzx edx, bl
sub edx, 1
jb 0x54847e
test ecx, ecx
je 0x548478
cmp ecx, esi
mov ebx, esi
cmovb ebx, ecx
sub ecx, ebx
lea edi, [eax + ebx]
test eax, eax
je 0x54847c
test ebx, ebx
je 0x548474
mov byte [eax], 0
inc eax
dec ebx
jmp 0x548469
mov eax, edi
jmp 0x548450
xor ecx, ecx
jmp 0x54847e
mov eax, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
lea esi, [esp + 0x18]
mov edx, ebp
mov ecx, esi
call fcn.004f097f
cmp byte [esp + 0x18], 4
jne 0x548a3c
mov bl, byte [esp + 0x19]
mov ecx, esi
mov edi, ebp
call fcn.004f22d9
movzx ebp, byte [esp + 0x78]
test bl, bl
mov ecx, esi
je 0x548623
mov edx, edi
call fcn.004f097f
mov bh, byte [esp + 0x18]
movzx edi, byte [esp + 0x19]
mov ecx, esi
call fcn.004f22d9
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
cmp bh, 4
movzx edx, bl
movzx eax, al
movzx ecx, cl
cmove eax, edi
cmove ecx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 8], ecx
jne 0x548a45
cmp byte [esp + 0x78], 5
je 0x548708
cmp ebp, 6
jne 0x548a6e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
movzx edi, byte [esp + 8]
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 8]
mov dword [esp], ecx
mov ecx, edx
shr cl, 4
movzx ecx, cl
mov dword [esp + 0x30], ecx
lea ecx, [ecx + ecx*2]
add ecx, eax
mov dword [esp + 0x58], ecx
mov ecx, edx
and cl, 0xf
movzx ecx, cl
mov dword [esp + 0x4c], ecx
lea ecx, [ecx + ecx*2]
add ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
test edi, edi
je 0x5487f5
xor edx, edx
test ebp, ebp
je 0x5488e2
mov ebx, dword [esp + 4]
cmp ebp, ebx
cmovb ebx, ebp
sub ebp, ebx
test esi, esi
je 0x5488dc
mov eax, dword [esp + 0x30]
cmp dword [esp], eax
jbe 0x5489ec
test ebx, ebx
je 0x5489f5
mov ecx, dword [esp + 0x58]
cmp ebx, 1
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
mov cl, byte [ecx]
mov byte [esi], cl
je 0x5489fb
cmp ebx, 2
mov byte [esi + 1], ah
jbe 0x548a00
add ebx, esi
cmp edi, 1
mov byte [esi + 2], al
je 0x5487f3
test ebp, ebp
je 0x5488e2
cmp ebp, dword [esp + 4]
mov edx, ebp
jb 0x5485db
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x4c]
cmp dword [esp], eax
jbe 0x548a0c
test edx, edx
je 0x548a15
mov ecx, dword [esp + 0x54]
cmp edx, 1
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
mov cl, byte [ecx]
mov byte [ebx], cl
je 0x548a1b
cmp edx, 2
mov byte [ebx + 1], ah
jbe 0x548a20
lea esi, [ebx + edx]
sub ebp, edx
mov byte [ebx + 2], al
add edi, 0xfffffffe
jmp 0x54855c
mov edx, edi
call fcn.004f097f
cmp byte [esp + 0x18], 4
jne 0x548a3c
movzx ebx, byte [esp + 0x19]
mov ecx, esi
mov dword [esp + 4], ebp
call fcn.004f22d9
cmp ebx, 2
jne 0x548806
mov ecx, esi
mov edx, edi
call fcn.004f097f
cmp byte [esp + 0x18], 4
jne 0x548a3c
mov al, byte [esp + 0x19]
mov ecx, esi
mov dword [esp + 8], eax
call fcn.004f22d9
mov ecx, esi
mov edx, edi
call fcn.004f097f
cmp byte [esp + 0x18], 4
jne 0x548a3c
mov bl, byte [esp + 0x19]
mov ecx, esi
call fcn.004f22d9
test bl, bl
mov dword [esp + 0x28], ebx
je 0x548796
mov cl, 1
mov ebx, dword [esp + 0x28]
cmp bl, cl
seta al
sub bl, cl
jbe 0x548796
cmp dword [esp + 0x34], 0
mov byte [esp + 4], cl
mov byte [esp], al
je 0x5486c8
lea ecx, [esp + 0x38]
call fcn.0052435e
jmp 0x5486ee
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x5486ec
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp ecx, edx
cmovb edx, ecx
lea esi, [eax + edx]
sub ecx, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
jmp 0x5486ee
xor eax, eax
mov cl, byte [esp + 4]
test eax, eax
je 0x54890c
add cl, byte [esp]
test edx, edx
je 0x54869e
mov byte [eax], 0
inc eax
dec edx
jmp 0x5486fd
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x28]
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [ecx + 8]
lea edi, [edx + edx*2]
mov dword [esp + 0x30], edx
add edi, dword [ecx]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
movzx eax, byte [esp + 8]
mov dword [esp + 4], ecx
sub eax, 1
jb 0x5487f5
test ebp, ebp
je 0x5488e0
mov ebx, dword [esp + 4]
cmp ebp, ebx
cmovb ebx, ebp
sub ebp, ebx
test esi, esi
je 0x5488dc
mov ecx, dword [esp + 0x30]
cmp dword [esp], ecx
jbe 0x5489bb
test ebx, ebx
je 0x5489c9
mov dh, byte [edi + 1]
mov dl, byte [edi + 2]
mov cl, byte [edi]
cmp ebx, 1
mov byte [esi], cl
je 0x5489d4
cmp ebx, 2
mov byte [esi + 1], dh
jbe 0x5489e0
add ebx, esi
mov byte [esi + 2], dl
mov esi, ebx
jmp 0x548735
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov edx, ecx
cmp cl, bl
adc cl, 0
cmp dl, bl
jae 0x5487e2
test ebp, ebp
je 0x5487dc
mov edi, dword [esp + 4]
cmp ebp, edi
cmovb edi, ebp
sub ebp, edi
lea esi, [eax + edi]
test eax, eax
je 0x5487e0
test edi, edi
je 0x5487d8
mov byte [eax], 0
inc eax
dec edi
jmp 0x5487cd
mov eax, esi
jmp 0x5487a8
xor ebp, ebp
jmp 0x5487e2
mov eax, esi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0xc], eax
jmp 0x548486
mov esi, ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0xc], esi
jmp 0x548486
test ebx, ebx
je 0x5488ed
cmp ebx, 1
je 0x548934
lea eax, [ebx + 1]
mov ecx, ebx
mov bl, byte [esp + 0x78]
mov ebp, edi
shr eax, 1
mov dword [esp + 8], ecx
cmp bl, 6
cmovne eax, ecx
mov esi, eax
and esi, 1
add esi, eax
xor edx, edx
mov ecx, esi
inc edx
call fcn.00567657
mov ebx, esi
mov dword [esp], edx
push esi
mov edi, eax
push eax
push ebp
lea esi, [esp + 0x24]
push esi
call fcn.004b3b1b
add esp, 0x10
cmp byte [esp + 0x18], 4
jne 0x548a32
mov ecx, esi
call fcn.004f22d9
cmp byte [esp + 0x78], 5
je 0x54889f
cmp dword [esp + 4], 6
mov esi, dword [esp + 8]
jne 0x548a82
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xc]
mov edx, dword [eax]
mov eax, edi
add eax, ebx
mov ebx, esi
push esi
push eax
push edi
mov eax, dword [esp + 0x38]
push dword [eax + 8]
call fcn.0052453d
jmp 0x5488bc
mov esi, dword [esp + 0x2c]
mov eax, edi
lea ecx, [esp + 0xc]
add eax, ebx
mov ebx, dword [esp + 8]
mov edx, dword [esi]
push ebx
push eax
push edi
push dword [esi + 8]
call fcn.00524492
add esp, 0x10
mov ecx, edi
test al, al
je 0x548a5d
mov edx, dword [esp]
call fcn.0043cca3
mov eax, ebx
mov dword [esp + 8], eax
jmp 0x548486
mov edx, ebp
jmp 0x5488e2
xor edx, edx
mov dword [esp + 0x10], edx
xor ebx, ebx
jmp 0x5483e3
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
call fcn.00524462
jmp 0x5488e6
mov ecx, dword [esp + 8]
xor eax, eax
mov edx, ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + 4], dl
mov byte [ecx + 5], bl
mov byte [ecx + 6], al
mov dword [ecx], 6
jmp 0x548a55
mov edx, ebx
xor ebx, ebx
xor eax, eax
jmp 0x548914
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
lea esi, [esp + 0x18]
mov ecx, esi
mov dword [esi + 8], eax
movsd qword [esi], xmm0
call fcn.00524462
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
lea esi, [esp + 0x1c]
cmp dword [esp + 0x18], 0
je 0x548979
mov ecx, esi
call fcn.0052435e
jmp 0x54899f
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x54899d
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
cmp ecx, edx
cmovb edx, ecx
lea edi, [eax + edx]
sub ecx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ecx
jmp 0x54899f
xor eax, eax
test eax, eax
jne 0x5489aa
jmp 0x5489b0
mov byte [eax], 0
inc eax
dec edx
test edx, edx
jne 0x5489a5
jmp 0x548969
mov al, 1
xor ebx, ebx
xor edx, edx
jmp 0x548914
mov ecx, dword [esp + 0x30]
mov edx, dword [esp]
push 0x9edb00
jmp 0x548a2a
xor ecx, ecx
xor edx, edx
push 0x9edb10
jmp 0x548a2a
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x9edb20
jmp 0x548a2a
push 2
pop ecx
mov edx, ecx
push 0x9edb30
jmp 0x548a2a
mov ecx, dword [esp + 0x30]
mov edx, dword [esp]
jmp 0x548a05
xor ecx, ecx
xor edx, edx
jmp 0x548a05
xor ecx, ecx
inc ecx
jmp 0x548a03
push 2
pop ecx
mov edx, ecx
push 0x9edb40
jmp 0x548a2a
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp]
jmp 0x548a25
xor ecx, ecx
xor edx, edx
jmp 0x548a25
xor ecx, ecx
inc ecx
jmp 0x548a23
push 2
pop ecx
mov edx, ecx
push 0x9edb50
call fcn.0063cc20
pop eax
ud2
mov edx, dword [esp]
mov ecx, edi
call fcn.0043cca3
lea ecx, [esp + 0x18]
call fcn.004f22d9
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x18]
mov byte [edx], 0
call fcn.00524327
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp]
call fcn.0043cca3
xor ebx, ebx
xor edx, edx
jmp 0x548930
push 0xe
pop edx
mov ecx, 0xa0925b
push 0x9eddd4
call fcn.0063cb40
jmp 0x548a2f
push 0xe
pop edx
mov ecx, 0xa0925b
push 0x9edde4
jmp 0x548a7b