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

Disassembly:
push ebp
push ebx
push edi
push esi
mov edx, 0x25
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x497c4d
call fcn.0052ed00
mov dword [esp], 0xcccccc
mov dword [esp + 4], 0x505050
mov dword [esp + 8], 0x666666
mov dword [esp + 0xc], 0xcccccc
push 0xff
push 0xff
push 0xff
call fcn.0051beaf
mov dword [esp + 0x10], eax
push 0xc7
push 0x67
push 0x3b
call fcn.0051beaf
mov dword [esp + 0x14], eax
mov eax, str.Cnv_FixturesSelectionColor
push eax
push dword [0x6b0314]
call fcn.00518048
and eax, eax
je 0x497cd4
mov ebp, dword [0x6b0314]
mov ebp, dword [ebp]
push dword [ebp + 8]
pop eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x444444
mov dword [esp + 0x1c], 0x505050
mov dword [esp + 0x20], 0x333333
push 0
push 0
push 0xff
call fcn.0051beaf
mov dword [esp + 0x24], eax
lea ebp, [0x6af854]
cmp byte [ebp + 0xb], 0
je 0x497d2d
push dword [esp + 0x20]
pop eax
mov dword [esp + 0x28], eax
push dword [esp + 0x1c]
pop eax
mov dword [esp + 0x2c], eax
push dword [esp + 0x18]
pop eax
mov dword [esp + 0x30], eax
jmp 0x497d6e
cmp byte [esp + 0xa8], 0
je 0x497d54
push dword [esp + 0x14]
pop eax
mov dword [esp + 0x28], eax
push dword [esp + 0x10]
pop eax
mov dword [esp + 0x2c], eax
push dword [esp + 0xc]
pop eax
mov dword [esp + 0x30], eax
jmp 0x497d6e
push dword [esp + 8]
pop eax
mov dword [esp + 0x28], eax
push dword [esp + 4]
pop eax
mov dword [esp + 0x2c], eax
push dword [esp]
pop eax
mov dword [esp + 0x30], eax
push 0
push 6
call fcn.00505930
push eax
call fcn.00518780
mov dword [esp + 0x38], eax
push 0
push 6
call fcn.005058be
push eax
call fcn.0051875c
mov dword [esp + 0x3c], eax
lea ebp, [0x6af854]
push dword [ebp + 5]
call fcn.0051bbd5
push 1
call fcn.0051bbec
mov ebp, dword [0x6b0230]
movsx ebx, word [ebp + 0x18]
dec ebx
mov eax, ebx
push eax
call fcn.004e2f1e
mov ebx, eax
lea ebp, [0x6afb94]
movzx eax, byte [ebp + 0x13]
cmp ebx, eax
jne 0x4990db
mov ebp, dword [0x6b0230]
movsx ebx, word [ebp + 0x18]
movsx edi, word [ebp + 0x18]
dec edi
mov eax, edi
push eax
call fcn.004e2f1e
mov edi, eax
dec edi
shl edi, 9
sub ebx, edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [0x6b0230]
mov ebp, dword [ebp + 0x14]
push ebp
pop eax
push dword [ebp + 0x1c]
call fcn.0051b8f7
add ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x40]
dec ebx
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x44]
dec ebx
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
shl edi, 5
sub ebx, edi
dec ebx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x4c]
shl edi, 5
sub ebx, edi
dec ebx
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x50]
imul ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x64], ebx
push dword [esp + 0x64]
mov ebp, dword [0x6b0230]
pop eax
mov dword [ebp + 0x3b], eax
mov ebx, dword [esp + 0x48]
imul ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 0x10
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x68], ebx
push dword [esp + 0x68]
pop eax
mov dword [ebp + 0x43], eax
mov ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 0x10
cdq
idiv ecx
mov ebx, eax
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x43]
add ebx, dword [esp + 0x70]
push ebx
pop eax
mov dword [ebp + 0x47], eax
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
jne 0x4980e1
mov ebp, dword [0x6b0230]
mov ebp, dword [ebp + 0x14]
push ebp
pop eax
push dword [ebp + 0x1c]
call fcn.0051b8f7
mov ebx, eax
inc ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x58]
imul ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
inc ebx
mov dword [esp + 0x6c], ebx
mov ebp, dword [0x6b0230]
mov ebx, dword [ebp + 0x3b]
add ebx, dword [esp + 0x6c]
push ebx
pop eax
mov dword [ebp + 0x3f], eax
mov dword [ebp + 0x4b], 0
mov dword [ebp + 0x4f], 0
mov dword [ebp + 0x53], 0
mov dword [ebp + 0x57], 0
cmp byte [ebp + 0x5e], 0
je 0x497f58
xor eax, eax
jmp 0x497f5d
mov eax, 1
and eax, eax
je 0x497fa4
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051bb8a
push dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
add ebx, 0xfffffffe
push ebx
mov ebx, dword [esp + 0x74]
add ebx, 0xfffffffe
push ebx
mov ebx, dword [esp + 0x74]
inc ebx
push ebx
mov ebx, dword [esp + 0x74]
inc ebx
push ebx
call fcn.0051bb8a
jmp 0x4980dc
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x6c]
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x6c]
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
call fcn.0051cd91
jmp 0x498732
mov ebx, dword [esp + 0x50]
neg ebx
add ebx, 0x20
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x58]
imul ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
inc ebx
mov dword [esp + 0x6c], ebx
mov ebp, dword [0x6b0230]
mov ebx, dword [ebp + 0x3b]
add ebx, dword [esp + 0x6c]
push ebx
pop eax
mov dword [ebp + 0x3f], eax
mov ebx, dword [esp + 0x4c]
sub ebx, dword [esp + 0x48]
cmp ebx, 1
jle 0x49838d
mov ebp, dword [0x6b0230]
mov ebp, dword [ebp + 0x14]
push ebp
pop eax
push dword [ebp + 0x1c]
call fcn.0051b8f7
mov ebx, eax
inc ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x34], 1
mov ebx, dword [esp + 0x50]
neg ebx
add ebx, 0x40
cmp ebx, dword [esp + 0x60]
jge 0x49838d
mov ebp, dword [0x6b0230]
cmp byte [ebp + 0x5e], 0
je 0x498170
xor eax, eax
jmp 0x498175
mov eax, 1
and eax, eax
je 0x4981cf
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
push ebx
push 0
call fcn.0051bb8a
push dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
add ebx, 0xfffffffe
push ebx
push dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
inc ebx
push ebx
push 0
call fcn.0051bb8a
jmp 0x498374
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
imul edi, dword [esp + 0x38]
add ebx, edi
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
imul edi, dword [esp + 0x38]
add ebx, edi
push ebx
mov ebx, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
add ebx, dword [esp + 0x7c]
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
imul edi, dword [esp + 0x38]
add ebx, edi
push ebx
mov ebx, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
imul edi, dword [esp + 0x38]
add ebx, edi
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
add ebx, dword [esp + 0x7c]
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push 0
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
imul edi, dword [esp + 0x38]
add ebx, edi
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
imul edi, dword [esp + 0x40]
add ebx, edi
push ebx
mov ebx, dword [esp + 0x48]
push ebx
call fcn.0051cd91
mov ebx, dword [esp + 0x60]
add ebx, 0xffffffe0
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x34]
inc ebx
mov dword [esp + 0x34], ebx
jmp 0x49814d
mov ebp, dword [0x6b0230]
cmp byte [ebp + 0x5e], 0
je 0x49839d
xor eax, eax
jmp 0x4983a2
mov eax, 1
and eax, eax
je 0x4983e7
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051bb8a
push dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
add ebx, 0xfffffffe
push ebx
mov ebx, dword [esp + 0x74]
dec ebx
push ebx
mov ebx, dword [esp + 0x74]
inc ebx
push ebx
mov ebx, dword [esp + 0x74]
inc ebx
push ebx
call fcn.0051bb8a
jmp 0x49851f
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x6c]
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x6c]
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push dword [esp + 0x74]
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x7c]
push ebx
call fcn.0051cd91
mov ebx, dword [esp + 0x54]
inc ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x58]
imul ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 0x20
cdq
idiv ecx
mov ebx, eax
inc ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x4c]
imul ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 0x10
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x74], ebx
mov ebp, dword [0x6b0230]
mov dword [ebp + 0x4b], 0
mov ebx, dword [ebp + 0x4b]
add ebx, dword [esp + 0x78]
push ebx
pop eax
mov dword [ebp + 0x4f], eax
push dword [esp + 0x74]
pop eax
mov dword [ebp + 0x53], eax
mov ebx, dword [ebp + 0x53]
add ebx, dword [esp + 0x70]
push ebx
pop eax
mov dword [ebp + 0x57], eax
cmp byte [ebp + 0x5e], 0
je 0x498592
xor eax, eax
jmp 0x498597
mov eax, 1
and eax, eax
je 0x4985e8
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x80]
push dword [esp + 0x80]
push 0
call fcn.0051bb8a
push dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
add ebx, 0xfffffffe
push ebx
mov ebx, dword [esp + 0x80]
dec ebx
push ebx
mov ebx, dword [esp + 0x80]
inc ebx
push ebx
push 0
call fcn.0051bb8a
jmp 0x498732
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x78]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x80]
push ebx
push dword [esp + 0x80]
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
push ebx
mov ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x7c]
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
push dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
push ebx
push dword [esp + 0x80]
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x78]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x80]
push ebx
mov ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x7c]
push ebx
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x6c]
add ebx, dword [esp + 0x74]
push ebx
push 0
push dword [esp + 0x80]
push 0
call fcn.0051cd91
push 0
push 0
push 0xff
call fcn.0051beaf
push eax
mov ebx, dword [esp + 0x78]
add ebx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x80]
push ebx
push dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
push ebx
call fcn.0051cd91
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
mov eax, dword [esp + 0x48]
cdq
push edx
push eax
call fcn.0052bdc0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
mov ebx, dword [esp + 0x40]
cmp ebx, 0x64
jge 0x4987c7
push edx
call fcn.0052eb60
pop edx
push eax
mov edx, 0x5e3012
push edx
call fcn.0052eba0
mov edx, dword [esp + 0x84]
push edx
call fcn.0052eba0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
mov ebx, dword [esp + 0x40]
cmp ebx, 0xa
jge 0x4987c7
push edx
call fcn.0052eb60
pop edx
push eax
mov edx, 0x5e3012
push edx
call fcn.0052eba0
mov edx, dword [esp + 0x84]
push edx
call fcn.0052eba0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
push dword [esp + 0x30]
push dword [esp + 0x84]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x70]
add ebx, 3
push ebx
call fcn.0051bc03
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0x40]
je 0x498888
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
mov eax, dword [esp + 0x4c]
cdq
push edx
push eax
call fcn.0052bdc0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
mov ebx, dword [esp + 0x44]
cmp ebx, 0x64
jge 0x498886
push edx
call fcn.0052eb60
pop edx
push eax
mov edx, 0x5e3012
push edx
call fcn.0052eba0
mov edx, dword [esp + 0x84]
push edx
call fcn.0052eba0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
mov ebx, dword [esp + 0x44]
cmp ebx, 0xa
jge 0x498886
push edx
call fcn.0052eb60
pop edx
push eax
mov edx, 0x5e3012
push edx
call fcn.0052eba0
mov edx, dword [esp + 0x84]
push edx
call fcn.0052eba0
lea eax, [esp + 0x84]
push eax
call fcn.0052ec30
jmp 0x498899
mov edx, 0x5e2038
lea ecx, [esp + 0x80]
call fcn.004f6008
mov edx, 0x5e2038
lea ecx, [esp + 0x90]
call fcn.004f6008
mov ebp, dword [0x6b0230]
movsx ebx, byte [ebp + 0x1f]
cmp ebx, 1
jne 0x4988ca
mov edx, 0x5eabf6
lea ecx, [esp + 0x90]
call fcn.004f6008
mov ebp, dword [0x6b0230]
movsx ebx, byte [ebp + 0x20]
cmp ebx, 1
jne 0x498906
mov edx, dword [esp + 0x90]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
mov edx, 0x5ec0d0
push edx
call fcn.0052eba0
lea eax, [esp + 0x94]
push eax
call fcn.0052ec30
mov ebp, dword [0x6b0230]
movzx ebx, byte [ebp + 0x1e]
mov eax, 1
cmp ebx, eax
jle 0x498969
mov edx, dword [esp + 0x90]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
mov edx, 0x5e2b18
push edx
call fcn.0052eba0
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
mov ebp, dword [0x6b0230]
movzx eax, byte [ebp + 0x1e]
cdq
push edx
push eax
call fcn.0052bdc0
pop eax
lea eax, [esp + 0x94]
push eax
call fcn.0052ec30
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
jne 0x4989fe
push dword [esp + 0x30]
push dword [esp + 0x84]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x8c]
call fcn.0051bd57
sub ebx, eax
add ebx, 0xfffffffd
push ebx
call fcn.0051bc03
push dword [esp + 0x90]
call fcn.0052c5c0
mov ebx, eax
and ebx, ebx
jle 0x4989f9
push dword [esp + 0x30]
push dword [esp + 0x94]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x98]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x9c]
call fcn.0051bd57
sub ebx, eax
add ebx, 0xfffffffd
push ebx
call fcn.0051bc03
jmp 0x498a7e
push dword [esp + 0x30]
push dword [esp + 0x84]
push dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
push dword [esp + 0x8c]
call fcn.0051bd57
sub ebx, eax
add ebx, 0xfffffffd
push ebx
call fcn.0051bc03
push dword [esp + 0x90]
call fcn.0052c5c0
mov ebx, eax
and ebx, ebx
jle 0x498a7e
push dword [esp + 0x30]
push dword [esp + 0x94]
mov ebx, dword [esp + 0x7c]
add ebx, dword [esp + 0x78]
push dword [esp + 0x98]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
mov ebx, dword [esp + 0x84]
push dword [esp + 0x9c]
call fcn.0051bd57
sub ebx, eax
add ebx, 0xfffffffd
push ebx
call fcn.0051bc03
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
mov ebp, dword [0x6b0230]
movzx eax, byte [ebp + 0x1e]
cdq
push edx
push eax
call fcn.0052bdc0
lea eax, [esp + 0x88]
push eax
call fcn.0052ec30
mov edx, dword [ebp + 0x10]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
lea eax, [esp + 0x8c]
push eax
call fcn.0052ec30
push dword [esp + 0x88]
call fcn.0051bd57
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
add edi, dword [esp + 0x78]
add edi, 0xfffffffa
cmp ebx, edi
jle 0x498b6c
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x90]
call fcn.0052c5c0
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x94]
call fcn.0052d670
lea eax, [esp + 0x8c]
push eax
call fcn.0052ec30
push dword [esp + 0x88]
call fcn.0051bd57
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
add edi, dword [esp + 0x78]
add edi, 0xfffffffa
cmp ebx, edi
jl 0x498b5f
push dword [esp + 0x88]
call fcn.0052c5c0
mov ebx, eax
cmp ebx, 1
jle 0x498b5f
jmp 0x498b66
mov eax, 1
jmp 0x498b68
xor eax, eax
and eax, eax
je 0x498aee
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
jne 0x498bce
push dword [esp + 0x30]
push dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub edi, eax
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
sub edi, dword [esp + 0x68]
add edi, 3
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
call fcn.0051bc03
jmp 0x498ddd
mov ebp, dword [0x6b0230]
mov ebp, dword [ebp + 0x14]
push ebp
pop eax
push dword [ebp + 0x1c]
call fcn.0051b8f7
mov ebx, eax
inc ebx
cmp ebx, 0x21
jle 0x498bfd
mov ebx, dword [esp + 0x4c]
sub ebx, dword [esp + 0x48]
cmp ebx, 1
jle 0x498bfd
mov eax, 1
jmp 0x498bff
xor eax, eax
and eax, eax
je 0x498c60
push dword [esp + 0x30]
push dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub edi, eax
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 0x44]
push dword [esp + 0x94]
call fcn.0051bd57
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.0051bc03
jmp 0x498ddd
mov edx, dword [esp + 0x88]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x94]
call fcn.0052c5c0
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x98]
call fcn.0052d670
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push dword [esp + 0x8c]
call fcn.0051bd57
mov dword [esp + 0x7c], eax
push dword [esp + 0x8c]
call fcn.0052c5c0
mov ebx, eax
and ebx, ebx
jle 0x498d08
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x6c]
add esi, dword [esp + 0x78]
sub esi, dword [esp + 0x5c]
mov eax, esi
mov ecx, 2
cdq
idiv ecx
mov esi, eax
sub edi, esi
add edi, 0xfffffffd
cmp ebx, edi
jl 0x498d08
jmp 0x498d0f
mov eax, 1
jmp 0x498d11
xor eax, eax
and eax, eax
je 0x498c82
push dword [esp + 0x30]
push dword [esp + 0x90]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub edi, eax
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
add edi, dword [esp + 0x84]
sub edi, dword [esp + 0x68]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
add ebx, 3
push ebx
call fcn.0051bc03
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x94]
push dword [esp + 0x94]
call fcn.0052d2b0
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push dword [esp + 0x30]
push dword [esp + 0x90]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub edi, eax
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
push 0
call fcn.0051bc03
mov ebp, dword [0x6b0230]
mov edx, dword [ebp + 0x1a]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
lea eax, [esp + 0x8c]
push eax
call fcn.0052ec30
push dword [esp + 0x88]
call fcn.0051bd57
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
add edi, dword [esp + 0x78]
add edi, 0xfffffffa
cmp ebx, edi
jle 0x498ea2
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x90]
call fcn.0052c5c0
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x94]
call fcn.0052d670
lea eax, [esp + 0x8c]
push eax
call fcn.0052ec30
push dword [esp + 0x88]
call fcn.0051bd57
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
add edi, dword [esp + 0x78]
add edi, 0xfffffffa
cmp ebx, edi
jl 0x498e95
push dword [esp + 0x88]
call fcn.0052c5c0
mov ebx, eax
cmp ebx, 1
jle 0x498e95
jmp 0x498e9c
mov eax, 1
jmp 0x498e9e
xor eax, eax
and eax, eax
je 0x498e24
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
jne 0x498ef7
push dword [esp + 0x30]
push dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
sub edi, dword [esp + 0x68]
add edi, 3
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
call fcn.0051bc03
jmp 0x4990db
mov ebp, dword [0x6b0230]
mov ebp, dword [ebp + 0x14]
push ebp
pop eax
push dword [ebp + 0x1c]
call fcn.0051b8f7
mov ebx, eax
inc ebx
cmp ebx, 0x21
jle 0x498f26
mov ebx, dword [esp + 0x4c]
sub ebx, dword [esp + 0x48]
cmp ebx, 1
jle 0x498f26
mov eax, 1
jmp 0x498f28
xor eax, eax
and eax, eax
je 0x498f78
push dword [esp + 0x30]
push dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
mov ebx, dword [esp + 0x44]
push dword [esp + 0x94]
call fcn.0051bd57
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.0051bc03
jmp 0x4990db
mov edx, dword [esp + 0x88]
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eba0
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x94]
call fcn.0052c5c0
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x98]
call fcn.0052d670
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push dword [esp + 0x8c]
call fcn.0051bd57
mov dword [esp + 0x7c], eax
push dword [esp + 0x8c]
call fcn.0052c5c0
mov ebx, eax
and ebx, ebx
jle 0x499020
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x6c]
add esi, dword [esp + 0x78]
sub esi, dword [esp + 0x5c]
mov eax, esi
mov ecx, 2
cdq
idiv ecx
mov esi, eax
sub edi, esi
add edi, 0xfffffffd
cmp ebx, edi
jl 0x499020
jmp 0x499027
mov eax, 1
jmp 0x499029
xor eax, eax
and eax, eax
je 0x498f9a
push dword [esp + 0x30]
push dword [esp + 0x90]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
add edi, dword [esp + 0x84]
sub edi, dword [esp + 0x68]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
add ebx, 3
push ebx
call fcn.0051bc03
push edx
call fcn.0052eb60
pop edx
push eax
push edx
call fcn.0052eb60
pop edx
push eax
push dword [esp + 0x94]
push dword [esp + 0x94]
call fcn.0052d2b0
lea eax, [esp + 0x90]
push eax
call fcn.0052ec30
push dword [esp + 0x30]
push dword [esp + 0x90]
mov ebx, dword [esp + 0x7c]
add ebx, dword [esp + 0x78]
push dword [esp + 0x90]
call fcn.0051bd81
sub ebx, eax
dec ebx
push ebx
push 0
call fcn.0051bc03
xor eax, eax
push dword [esp + 0x8c]
call fcn.0052ed90
push dword [esp + 0x88]
call fcn.0052ed90
push dword [esp + 0x90]
call fcn.0052ed90
push dword [esp + 0x84]
call fcn.0052ed90
push dword [esp + 0x80]
call fcn.0052ed90
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret 4