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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x30]
mov ebx, dword [eax + 0x20]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x54], ecx
mov cl, byte [eax + 0x3c]
mov byte [esp + 0x1b], cl
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x74], ecx
mov cl, byte [eax + 0x44]
mov byte [esp + 0x5b], cl
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x50]
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x1c]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x40], eax
cmp esi, dword [esp + 0x28]
jg 0x504b83
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jmp 0x503f30
cmp esi, dword [esp + 0x84]
jl 0x504b6f
cmp esi, dword [esp + 0x88]
jge 0x504b6f
lea eax, [esi + 0x8000]
cdq
and edx, 0xffff
add eax, edx
sar eax, 0x10
mov dword [esp + 0x80], eax
xor ecx, ecx
lea edx, [ecx + 1]
mov eax, edx
and eax, 3
cmp dword [ebx + ecx*4], esi
jne 0x503f77
cmp dword [ebx + eax*4], esi
je 0x503f84
mov ecx, edx
mov dword [esp + 0x48], edx
cmp ecx, 4
jl 0x503f65
jmp 0x503fa7
mov eax, dword [edi + eax*4]
cmp eax, dword [edi + ecx*4]
mov edx, 0x10000
mov dword [esp + 0x64], 0
cmovg edx, dword [esp + 0x64]
add ecx, 8
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], ecx
cmp ecx, 8
jge 0x503fdb
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov eax, dword [ebx + ecx*4]
lea edx, [ecx + 1]
and edx, 3
cmp eax, esi
jg 0x503fc8
cmp dword [ebx + edx*4], esi
jg 0x50403d
cmp eax, esi
jle 0x503fd1
cmp dword [ebx + edx*4], esi
jle 0x50406f
inc ecx
mov dword [esp + 0x48], ecx
cmp ecx, 4
jl 0x503fb2
mov edi, dword [esp + 0x50]
mov dword [esp + 0x64], edi
cmp ecx, 4
jge 0x5040e8
xor edx, edx
mov dword [esp + 0x1c], edx
cmp edx, ecx
je 0x504026
mov edi, dword [ebx + edx*4]
lea eax, [edx + 1]
and eax, 3
mov dword [esp + 0x44], eax
cmp edi, esi
jne 0x50400e
cmp dword [ebx + eax*4], esi
je 0x50407d
cmp edi, esi
jg 0x504019
cmp dword [ebx + eax*4], esi
jg 0x5040a3
cmp edi, esi
jle 0x504026
cmp dword [ebx + eax*4], esi
jle 0x5040d6
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 4
jl 0x503ff2
mov edi, dword [esp + 0x50]
mov dword [esp + 0x48], edi
jmp 0x5040fc
mov ecx, eax
mov eax, dword [ebx + edx*4]
sub eax, ecx
cdq
mov ebx, eax
mov eax, esi
sub eax, ecx
push edx
cdq
shld edx, eax, 0x10
push ebx
shl eax, 0x10
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x50], edi
jmp 0x503fdf
mov edi, eax
sub eax, dword [ebx + edx*4]
sub edi, esi
cdq
mov ebx, eax
mov eax, edi
jmp 0x50404b
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x48], 0
mov eax, dword [ebx + eax*4]
cmp eax, dword [ebx + edx*4]
mov edi, 0x10000
cmovg edi, dword [esp + 0x48]
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
jmp 0x5040fc
mov eax, dword [ebx + eax*4]
mov ecx, edi
sub eax, ecx
cdq
mov ebx, eax
mov eax, esi
sub eax, ecx
push edx
cdq
shld edx, eax, 0x10
push ebx
shl eax, 0x10
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
jmp 0x5040fc
mov ecx, dword [esp + 0x44]
mov eax, edi
sub eax, dword [ebx + ecx*4]
sub edi, esi
cdq
mov ebx, eax
mov eax, edi
jmp 0x5040b1
and ecx, 3
mov eax, 0x10000
mov edx, ecx
sub eax, edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x48], eax
cmp ecx, 3
ja case.default.0x504105
jmp dword [ecx*4 + 0x504b8c]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
cdq
mov edi, dword [edi]
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 4]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add eax, edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x4c]
push ebx
mov edi, dword [eax]
mov eax, dword [eax + 8]
push dword [esp + 0x48]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
jmp 0x5042ad
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x64]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 8]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov edi, dword [ecx + 4]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 8]
push ebx
push dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0xc]
jmp 0x504293
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x64]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 0xc]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add eax, edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x4c]
push ebx
mov edi, dword [eax + 8]
mov eax, dword [eax]
push dword [esp + 0x48]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
jmp 0x5042ad
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x64]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [ecx]
push ebx
push dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 4]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add eax, edi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
cmp edx, 3
ja case.default.0x5042be
jmp dword [edx*4 + 0x504b9c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov eax, dword [esp + 0x48]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 4]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
push ebx
mov edi, dword [eax]
mov eax, dword [eax + 8]
push dword [esp + 0x48]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov ebx, dword [ecx + 4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ebx
jmp 0x50447c
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x48]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 8]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov edi, dword [ecx + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 8]
push ebx
push dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0xc]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
lea ebx, [edi + eax]
mov dword [esp + 0x60], ebx
jmp 0x50447c
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x48]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax + 0xc]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
push ebx
mov edi, dword [eax + 8]
mov eax, dword [eax]
push dword [esp + 0x48]
sub eax, edi
cdq
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ebx
jmp 0x50447c
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x48]
cdq
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [eax]
push ebx
sub eax, edi
cdq
push ecx
push edx
push eax
mov dword [esp + 0x54], ecx
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov ecx, dword [esp + 0x4c]
add eax, edi
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx]
push ebx
push dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 4]
jmp 0x50438c
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
cmp edx, ecx
jle 0x5044ae
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x60], eax
lea eax, [edx + 0x7fffffff]
shr eax, 0x10
sub eax, 0x7fff
mov dword [esp + 0x44], eax
lea ecx, [edx - 1]
and ecx, 0xffff
mov eax, 0xffff
sub eax, ecx
cdq
mov ebx, eax
mov eax, dword [esp + 0x34]
mov edi, edx
push edi
cdq
push ebx
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
push edi
cdq
push ebx
push edx
push eax
call fcn.0063d8e0
push 0
push 0x10000
push edx
push eax
call fcn.00647c80
mov edi, dword [esp + 0x5c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x44]
mov edx, dword [eax]
lea edi, [edi + 0x7fffffff]
shr edi, 0x10
sub edi, 0x7fff
cmp ebx, edx
jge 0x504554
mov ecx, edx
sub ecx, ebx
mov eax, ecx
imul ecx, dword [esp + 0x30]
imul eax, dword [esp + 0x34]
add dword [esp + 0x14], eax
add dword [esp + 0x20], ecx
mov eax, dword [esp + 0x78]
mov ebx, edx
mov ecx, dword [eax + 8]
cmp edi, ecx
cmovg edi, ecx
mov eax, edi
sub eax, ebx
mov dword [esp + 0x1c], eax
test eax, eax
jle case.0x50462f.4
cmp byte [esp + 0x5b], 0
je 0x5045dc
lea eax, [ebx + 1]
cmp eax, ecx
cmovg eax, ecx
sub eax, edx
test eax, eax
jle 0x5045a4
push dword [esp + 0x7c]
cmp byte [esp + 0x1f], 0
push eax
mov eax, dword [esp + 0x14]
lea eax, [eax + edx*4]
push eax
mov eax, dword [0x7987f8]
cmovne eax, dword [0x798b64]
call eax
add esp, 0xc
mov edx, dword [esp + 0x78]
lea ecx, [edi - 1]
cmp ecx, dword [edx]
mov eax, dword [edx + 8]
cmovl ecx, dword [edx]
sub eax, ecx
test eax, eax
jle 0x5045dc
push dword [esp + 0x7c]
cmp byte [esp + 0x1f], 0
push eax
mov eax, dword [esp + 0x14]
lea eax, [eax + ecx*4]
push eax
mov eax, dword [0x7987f8]
cmovne eax, dword [0x798b64]
call eax
add esp, 0xc
mov eax, dword [ebp + 8]
cmp byte [eax + 0x6c], 0
je 0x5045fe
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x60], edi
mov byte [eax + 0x6c], 0
mov dword [eax + 0x68], ecx
mov dword [eax + 0x64], ecx
jmp 0x504618
cmp ebx, dword [eax + 0x5c]
jge 0x504606
mov dword [eax + 0x5c], ebx
cmp edi, dword [eax + 0x60]
jle 0x50460e
mov dword [eax + 0x60], edi
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ecx
mov edx, dword [esp + 0x8c]
cmp edx, 0xf
ja case.0x50462f.4
movzx eax, byte [edx + 0x504bd0]
jmp dword [eax*4 + 0x504bac]
mov edi, dword [esp + 0x54]
push dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp edi, 0xff
jne 0x5046fa
cmp byte [esp + 0x1f], 0
jne 0x5046c8
cmp dword [esp + 0x78], 1
jl 0x504696
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x20]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x34]
push ebx
push dword [esp + 0x2c]
push dword [0x7988b0]
push dword [0x798a68]
call fcn.00505670
add esp, 0x2c
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [0x7988dc]
push dword [0x798854]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [0x7987b8]
push dword [0x798ad4]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
cmp byte [esp + 0x1f], 0
jne 0x50476c
cmp dword [esp + 0x78], 1
jl 0x504740
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x20]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x34]
push ebx
push dword [esp + 0x2c]
push edi
push dword [0x798770]
push edi
push dword [0x798860]
call fcn.00505df0
add esp, 0x34
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push edi
push dword [0x798788]
push edi
push dword [0x79891c]
jmp 0x504b53
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push edi
push dword [0x79883c]
push edi
push dword [0x798850]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x5047e2
push dword [0x798798]
push dword [0x798820]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push edi
push dword [0x798a6c]
push edi
push dword [0x7987ec]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x50485f
cmp byte [esp + 0x3b], 0
jne 0x504846
push dword [0x798888]
push dword [0x798950]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push dword [0x79887c]
push dword [0x7987bc]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
cmp byte [esp + 0x3b], 0
push edi
jne 0x504879
push dword [0x7989b4]
push edi
push dword [0x7989e4]
jmp 0x504b53
push dword [0x798ab8]
push edi
push dword [0x798a90]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x5048d5
push dword [0x798a24]
push dword [0x798780]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push edi
push dword [0x798b00]
push edi
push dword [0x798ac8]
jmp 0x504b53
mov edi, dword [esp + 0x54]
push dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp edi, 0xff
jne 0x5049ac
cmp byte [esp + 0x1f], 0
jne 0x50497a
cmp dword [esp + 0x78], 1
jl 0x504948
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x20]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x34]
push ebx
push dword [esp + 0x2c]
push dword [0x7989cc]
push dword [0x798ab4]
call fcn.00506620
add esp, 0x2c
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [0x79879c]
push dword [0x798b2c]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [0x798af0]
push dword [0x798890]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
cmp byte [esp + 0x1f], 0
jne 0x504a1e
cmp dword [esp + 0x78], 1
jl 0x5049f2
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x20]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x34]
push ebx
push dword [esp + 0x2c]
push edi
push dword [0x798abc]
push edi
push dword [0x7988ec]
call fcn.00506d50
add esp, 0x34
jmp case.0x50462f.4
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push edi
push dword [0x798ad8]
push edi
push dword [0x7989e4]
jmp 0x504b53
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push edi
push dword [0x798a28]
push edi
push dword [0x798894]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x504a94
push dword [0x798814]
push dword [0x798958]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push edi
push dword [0x798afc]
push edi
push dword [0x798804]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x504aee
push dword [0x798764]
push dword [0x798958]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push edi
push dword [0x798a70]
push edi
push dword [0x798804]
jmp 0x504b53
push dword [esp + 0x40]
mov edi, dword [esp + 0x58]
push dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
cmp edi, 0xff
jne 0x504b45
push dword [0x798798]
push dword [0x798820]
call fcn.00505cf0
add esp, 0x28
jmp case.0x50462f.4
push edi
push dword [0x798918]
push edi
push dword [0x7987e8]
call fcn.00506510
add esp, 0x30
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add esi, 0x10000
add eax, edx
mov dword [esp + 0xc], eax
cmp esi, ecx
jle 0x503f30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4