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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebp, dword [edi + 0x4dd34]
mov edx, dword [edi + 0x4dd78]
mov ax, word [edi + 0x1ed0]
mov bx, word [edi + 0x1ecc]
mov si, word [edi + 0x1ece]
mov ecx, ebp
sub ecx, edx
mov word [esp + 0x14], ax
cmp ecx, 0x2710
jbe 0x477a71
push 0
push 0x4a71ec
push 0
push 0
push 3
push 0
push 0xa52
push 0xfa314dc
mov ecx, edi
call fcn.00404de0
push 0
push 0x4a71ec
push 0
push 0
push 1
push 0
push 0xa52
push 0xfa314dc
mov ecx, edi
call fcn.00404de0
mov dword [edi + 0x4dd78], ebp
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
movsx esi, si
test ecx, ecx
mov dword [esp + 0x10], esi
movsx ebx, bx
je 0x477aa7
mov edx, dword [edi + 0x4e478]
push eax
push 0
cmp edx, 1
push esi
push ebx
jne 0x477aa2
call fcn.0048c140
jmp 0x477aa7
call fcn.00488ff0
mov ecx, dword [edi + 0x36190]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je 0x477ad3
mov edx, dword [edi + 0x4e478]
push eax
push 0xf
cmp edx, 1
push esi
push ebx
jne 0x477ace
call fcn.0048c140
jmp 0x477ad3
call fcn.00488ff0
movsx eax, byte [edi + 0x1f56]
cmp eax, 4
ja case.default.0x477ae3
jmp dword [eax*4 + 0x47a2e8]
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0x14]
lea esi, [edx + 0x142]
push 3
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0x46]
push 1
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0x78]
push 2
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xaa]
push 0x1e
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xf4]
push 4
push esi
push eax
call fcn.00488ff0
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x10]
movsx edx, word [esp + 0x14]
add eax, 0x28
add edx, ebx
lea ecx, [eax + 0xf]
push ecx
push edx
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0
lea ecx, [esp + 0x30]
push 0x4afabc
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0x14]
cmp ecx, eax
jl 0x477c71
lea edx, [ebx + 0x42]
cmp ecx, edx
jg 0x477c75
mov eax, dword [esp + 0x10]
lea edx, [eax + 0x142]
mov eax, dword [esp + 0x44]
cmp eax, edx
jl 0x477c79
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x477c79
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x11
push eax
lea eax, [ebx + 0x14]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4afa98
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4afa98
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4afa98
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4afa98
push ebp
jmp 0x477fa9
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea edx, [ebx + 0x46]
cmp ecx, edx
jl 0x477d42
lea edx, [ebx + 0x74]
cmp ecx, edx
jg 0x477d42
mov edx, dword [esp + 0x10]
add edx, 0x142
cmp eax, edx
jl 0x477d42
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x477d42
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0xf
push eax
lea eax, [ebx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4afa78
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4afa78
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4afa78
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4afa78
push ebp
jmp 0x477fa9
lea edx, [ebx + 0x78]
cmp ecx, edx
jl 0x477e0e
lea edx, [ebx + 0xa6]
cmp ecx, edx
jg 0x477e0e
mov edx, dword [esp + 0x10]
add edx, 0x142
cmp eax, edx
jl 0x477e0e
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x477e0e
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x10
push eax
lea eax, [ebx + 0x78]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4afa60
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4afa60
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4afa60
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4afa60
push ebp
jmp 0x477fa9
lea edx, [ebx + 0xaa]
cmp ecx, edx
jl 0x477ee0
lea edx, [ebx + 0xd8]
cmp ecx, edx
jg 0x477ee0
mov edx, dword [esp + 0x10]
add edx, 0x142
cmp eax, edx
jl 0x477ee0
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x477ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x18
push eax
lea eax, [ebx + 0xaa]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4afa38
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4afa38
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4afa38
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4afa38
push ebp
jmp 0x477fa9
lea edx, [ebx + 0xf4]
cmp ecx, edx
jl 0x477fb8
lea edx, [ebx + 0x122]
cmp ecx, edx
jg 0x477fb8
mov edx, dword [esp + 0x10]
lea ecx, [edx + 0x142]
cmp eax, ecx
jl 0x477fb8
add edx, 0x176
cmp eax, edx
jg 0x477fb8
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x12
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4afa20
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4afa20
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4afa20
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4afa20
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je case.default.0x477ae3
mov edx, dword [edi + 0x4e478]
push eax
cmp edx, 1
push 0x15
jne 0x4785ea
mov edx, dword [esp + 0x18]
push edx
push ebx
jmp 0x479cfc
mov ecx, dword [esp + 0x10]
push ebp
lea eax, [ebx + 0xc2]
push 0x14
lea esi, [ecx + 0x142]
mov ecx, dword [edi + 0x36198]
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xf4]
push 4
push esi
push eax
call fcn.00488ff0
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x10]
lea eax, [edx + 0x28]
movsx edx, word [esp + 0x14]
lea ecx, [eax + 0xf]
add edx, ebx
push ecx
push edx
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0
lea ecx, [esp + 0x30]
push 0x4af9f8
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0xc2]
cmp ecx, eax
jl 0x47813f
lea edx, [ebx + 0xf0]
mov eax, ecx
cmp eax, edx
jg 0x47813f
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
lea ecx, [edx + 0x142]
cmp eax, ecx
jl 0x478143
add edx, 0x176
cmp eax, edx
jg 0x478143
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x13
push eax
lea eax, [ebx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af9d4
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af9d4
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af9d4
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af9d4
push ebp
push eax
jmp 0x478214
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
lea ecx, [ebx + 0xf4]
cmp edx, ecx
jl 0x478222
lea ecx, [ebx + 0x122]
cmp edx, ecx
jg 0x478222
mov edx, dword [esp + 0x10]
lea ecx, [edx + 0x142]
cmp eax, ecx
jl 0x478222
add edx, 0x176
cmp eax, edx
jg 0x478222
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
push 0x12
lea eax, [edx + 0x142]
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af9b8
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af9b8
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af9b8
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af9b8
push ebp
push edx
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je 0x478258
mov edx, dword [edi + 0x4e478]
push eax
cmp edx, 1
push 0x15
jne 0x47824d
mov eax, dword [esp + 0x18]
push eax
push ebx
call fcn.0048c140
jmp 0x478258
mov edx, dword [esp + 0x18]
push edx
push ebx
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0xf]
cmp ecx, eax
jl case.default.0x477ae3
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0x127]
cmp eax, ecx
jg case.default.0x477ae3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
add edx, 0x3c
cmp eax, edx
jl case.default.0x477ae3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
add eax, 0x139
cmp ecx, eax
jg case.default.0x477ae3
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je case.default.0x477ae3
mov edx, dword [edi + 0x4dd34]
push edx
push 0x2a
jmp 0x479cf2
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
push 1
lea esi, [eax + 0x142]
lea eax, [ebx + 0x46]
push esi
push eax
mov dword [esp + 0x28], esi
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xc2]
push 0x14
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xf4]
push 4
push esi
push eax
call fcn.00488ff0
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x28]
movsx ecx, word [esp + 0x14]
lea edx, [eax + 0xf]
add ecx, ebx
push edx
push ecx
push eax
lea edx, [esp + 0x38]
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0
lea eax, [esp + 0x30]
push 0x4afa78
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0x46]
cmp ecx, eax
jl 0x47841e
mov edx, dword [esp + 0x40]
lea ecx, [ebx + 0x74]
cmp edx, ecx
jg 0x478422
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jl 0x478426
mov ecx, dword [esp + 0x10]
add ecx, 0x176
cmp eax, ecx
jg 0x478426
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xf
lea eax, [ebx + 0x46]
push edx
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af990
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af990
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af990
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af990
push ebp
push edx
jmp 0x4785af
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea ecx, [ebx + 0xc2]
cmp edx, ecx
jl 0x4784ee
lea ecx, [ebx + 0xf0]
cmp edx, ecx
jg 0x4784ee
cmp eax, dword [esp + 0x18]
jl 0x4784ee
mov ecx, dword [esp + 0x10]
add ecx, 0x176
cmp eax, ecx
jg 0x4784ee
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x36198]
push ebp
push 0x13
lea eax, [ebx + 0xc2]
push edx
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af9d4
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af9d4
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af9d4
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af9d4
push ebp
push edx
jmp 0x4785af
lea ecx, [ebx + 0xf4]
cmp edx, ecx
jl 0x4785bd
lea ecx, [ebx + 0x122]
cmp edx, ecx
jg 0x4785bd
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jl 0x4785bd
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x4785bd
push ebp
mov eax, ecx
mov ecx, dword [edi + 0x36198]
push 0x12
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af96c
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af96c
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af96c
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af96c
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je case.default.0x477ae3
mov edx, dword [edi + 0x4e478]
push eax
cmp edx, 1
push 0x15
jne 0x4785ea
mov edx, dword [esp + 0x18]
push edx
push ebx
jmp 0x479cfc
mov eax, dword [esp + 0x18]
push eax
push ebx
call fcn.00488ff0
jmp case.default.0x477ae3
mov eax, dword [edi + 0x4dd98]
cmp eax, 1
jne 0x4786c9
cmp dword [edi + 0x4dd94], eax
jne 0x478661
mov ecx, dword [esp + 0x10]
push ebp
push 6
lea edx, [ebx + 0x14]
lea esi, [ecx + 0xdc]
mov ecx, dword [edi + 0x36198]
push esi
push edx
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
push 5
lea eax, [ebx + 0x46]
push esi
push eax
call fcn.00488ff0
push ebp
push 7
lea ecx, [ebx + 0x78]
push esi
push ecx
mov ecx, dword [edi + 0x36198]
call fcn.00488ff0
push ebp
push 0x23
lea edx, [ebx + 0xaa]
push esi
push edx
jmp 0x4786be
cmp eax, 1
jne 0x4786c9
mov eax, dword [edi + 0x4dd94]
test eax, eax
jne 0x4786c9
mov eax, dword [esp + 0x10]
push ebp
push 9
lea ecx, [ebx + 0x14]
lea esi, [eax + 0xdc]
push esi
push ecx
mov ecx, dword [edi + 0x36198]
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
push 8
lea edx, [ebx + 0x46]
push esi
push edx
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
push 7
lea eax, [ebx + 0x78]
push esi
push eax
call fcn.00488ff0
push ebp
push 0x23
lea ecx, [ebx + 0xaa]
push esi
push ecx
mov ecx, dword [edi + 0x36198]
call fcn.00488ff0
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xc2]
lea esi, [edx + 0x142]
push 0x14
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xf4]
push 4
push esi
push eax
call fcn.00488ff0
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x10]
movsx edx, word [esp + 0x14]
add eax, 0x28
add edx, ebx
lea ecx, [eax + 0xf]
push ecx
push edx
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0
lea ecx, [esp + 0x30]
push 0x4afa60
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov edx, dword [edi + 0x4e61c]
lea eax, [edi + 0x4e763]
push edx
push 0x4af954
push 0x4af94c
push eax
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x10]
lea ecx, [ebx + 0x143]
add eax, 0xbe
lea edx, [eax + 0xf]
push edx
push ecx
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
lea eax, [edi + 0x4e763]
push 0
lea ecx, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov eax, dword [edi + 0x4dd98]
cmp eax, 1
jne 0x47986d
cmp dword [edi + 0x4dd94], eax
jne 0x479009
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0x14]
cmp ecx, eax
jl 0x478917
lea edx, [ebx + 0x42]
cmp ecx, edx
jg 0x478917
mov eax, dword [esp + 0x10]
lea edx, [eax + 0xdc]
mov eax, dword [esp + 0x44]
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x47891b
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x47891b
cmp dword [edi + 0x4e61c], 0xbb8
jl 0x47882f
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xb
push eax
lea eax, [ebx + 0x14]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4ab1e4
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4ab1e4
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4ab1e4
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4ab1e4
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af938
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af938
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af938
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af938
push ecx
push ebp
jmp 0x47985f
mov eax, dword [esp + 0x44]
lea edx, [ebx + 0x46]
cmp ecx, edx
jl 0x478a64
lea edx, [ebx + 0x73]
cmp ecx, edx
jg 0x478a64
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x478a64
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x478a64
cmp dword [edi + 0x4e61c], 0x7d0
jl 0x47897c
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xa
push eax
lea eax, [ebx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4ab1f4
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4ab1f4
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4ab1f4
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4ab1f4
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af924
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af924
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af924
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af924
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0x78]
cmp ecx, edx
jl 0x478bb0
lea edx, [ebx + 0xa5]
cmp ecx, edx
jg 0x478bb0
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x478bb0
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x478bb0
cmp dword [edi + 0x4e61c], 0x3e8
jl 0x478ac8
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xc
push eax
lea eax, [ebx + 0x78]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4ab218
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4ab218
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4ab218
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4ab218
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af910
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af910
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af910
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af910
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0xaa]
cmp ecx, edx
jl 0x478d02
lea edx, [ebx + 0xd7]
cmp ecx, edx
jg 0x478d02
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x478d02
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x478d02
cmp dword [edi + 0x4e61c], 0x1388
jl 0x478c1a
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0x1d
push eax
lea eax, [ebx + 0xaa]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4a6b70
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4a6b70
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4a6b70
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4a6b70
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8fc
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8fc
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af8fc
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8fc
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0x14]
cmp ecx, edx
jl 0x478db1
lea edx, [ebx + 0x17c]
cmp ecx, edx
jg 0x478db1
mov edx, dword [esp + 0x10]
add edx, 0x8c
cmp eax, edx
jle 0x478db1
mov edx, dword [esp + 0x10]
add edx, 0xa0
cmp eax, edx
jge 0x478db1
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8d8
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af8d8
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8d8
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8d8
push ebp
push edx
jmp 0x47985f
lea edx, [ebx + 0x14]
cmp ecx, edx
jl 0x478e60
lea edx, [ebx + 0x17c]
cmp ecx, edx
jg 0x478e60
mov edx, dword [esp + 0x10]
add edx, 0xa0
cmp eax, edx
jle 0x478e60
mov edx, dword [esp + 0x10]
add edx, 0xaf
cmp eax, edx
jge 0x478e60
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8bc
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af8bc
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8bc
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8bc
push ebp
push edx
jmp 0x47985f
lea edx, [ebx + 0xc2]
cmp ecx, edx
jl 0x478f33
lea edx, [ebx + 0xf0]
cmp ecx, edx
jg 0x478f33
mov edx, dword [esp + 0x10]
add edx, 0x142
cmp eax, edx
jl 0x478f33
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x478f33
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x13
push eax
lea eax, [ebx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af894
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af894
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af894
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af894
push ebp
push eax
jmp 0x47985f
lea eax, [ebx + 0xf4]
cmp ecx, eax
jl 0x47986d
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0x122]
cmp eax, ecx
jg 0x47986d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
lea eax, [edx + 0x142]
cmp ecx, eax
jl 0x47986d
mov eax, edx
add eax, 0x176
cmp ecx, eax
jg 0x47986d
mov ecx, edx
push ebp
push 0x12
lea eax, [ecx + 0x142]
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add eax, 0x14
mov ecx, esi
lea ebp, [edx + 0x23]
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
push 0x4af870
push ebp
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af870
push eax
push edx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4af870
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
inc eax
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af870
push ebp
jmp 0x47985e
cmp eax, 1
jne 0x47986d
mov eax, dword [edi + 0x4dd94]
test eax, eax
jne 0x47986d
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0x14]
cmp ecx, eax
jl 0x479171
lea edx, [ebx + 0x42]
cmp ecx, edx
jg 0x479171
mov eax, dword [esp + 0x10]
lea edx, [eax + 0xdc]
mov eax, dword [esp + 0x44]
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x479175
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x479175
cmp dword [edi + 0x4e61c], 0xbb8
jl 0x479089
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xe
push eax
lea eax, [ebx + 0x14]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4af854
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4af854
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4af854
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4af854
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af938
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af938
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af938
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af938
push ecx
push ebp
jmp 0x47985f
mov eax, dword [esp + 0x44]
lea edx, [ebx + 0x46]
cmp ecx, edx
jl 0x4792be
lea edx, [ebx + 0x73]
cmp ecx, edx
jg 0x4792be
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x4792be
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x4792be
cmp dword [edi + 0x4e61c], 0x7d0
jl 0x4791d6
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xd
push eax
lea eax, [ebx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4ab204
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4ab204
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4ab204
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4ab204
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af924
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af924
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af924
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af924
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0x78]
cmp ecx, edx
jl 0x47940a
lea edx, [ebx + 0xa5]
cmp ecx, edx
jg 0x47940a
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x47940a
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x47940a
cmp dword [edi + 0x4e61c], 0x3e8
jl 0x479322
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0xc
push eax
lea eax, [ebx + 0x78]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4ab218
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4ab218
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4ab218
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4ab218
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af910
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af910
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af910
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af910
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0xaa]
cmp ecx, edx
jl 0x47955c
lea edx, [ebx + 0xd7]
cmp ecx, edx
jg 0x47955c
mov edx, dword [esp + 0x10]
add edx, 0xdc
cmp eax, edx
mov dword [esp + 0x14], edx
jl 0x47955c
mov edx, dword [esp + 0x10]
add edx, 0x10e
cmp eax, edx
jg 0x47955c
cmp dword [edi + 0x4e61c], 0x1388
jl 0x479474
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x36198]
push ebp
push 0x1d
push eax
lea eax, [ebx + 0xaa]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x44]
push 0
lea ecx, [ebp + 1]
push 0x4a6b70
lea eax, [edx + 0x23]
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x44]
push 0
add eax, 0x24
push 0x4a6b70
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.00401ef0
mov ecx, dword [esp + 0x28]
push 0
push 0x4a6b70
lea eax, [ebp + 1]
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x44]
push 0xffffff
push 0x4a6b70
mov ecx, esi
lea eax, [edx + 0x23]
push eax
push ebp
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x44]
mov ecx, esi
add eax, 0x32
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8fc
push ecx
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8fc
mov ecx, esi
lea eax, [edx + 1]
push eax
push ebp
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af8fc
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8fc
push ecx
push ebp
jmp 0x47985f
lea edx, [ebx + 0x14]
cmp ecx, edx
jl 0x47960b
lea edx, [ebx + 0x17c]
cmp ecx, edx
jg 0x47960b
mov edx, dword [esp + 0x10]
add edx, 0x8c
cmp eax, edx
jle 0x47960b
mov edx, dword [esp + 0x10]
add edx, 0xa0
cmp eax, edx
jge 0x47960b
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8d8
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af8d8
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8d8
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8d8
push ebp
push edx
jmp 0x47985f
lea edx, [ebx + 0x14]
cmp ecx, edx
jl 0x4796ba
lea edx, [ebx + 0x17c]
cmp ecx, edx
jg 0x4796ba
mov edx, dword [esp + 0x10]
add edx, 0xa0
cmp eax, edx
jle 0x4796ba
mov edx, dword [esp + 0x10]
add edx, 0xaf
cmp eax, edx
jge 0x4796ba
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 0x14
mov dword [esp + 0x1c], ecx
mov ecx, esi
lea ebp, [eax + 0x23]
call fcn.00402250
mov edx, dword [esp + 0x1c]
push 0
push 0x4af8bc
push ebp
lea eax, [edx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4af8bc
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af8bc
push eax
lea eax, [ecx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0xffffff
push 0x4af8bc
push ebp
push edx
jmp 0x47985f
lea edx, [ebx + 0xc2]
cmp ecx, edx
jl 0x47978d
lea edx, [ebx + 0xf0]
cmp ecx, edx
jg 0x47978d
mov edx, dword [esp + 0x10]
add edx, 0x142
cmp eax, edx
jl 0x47978d
mov edx, dword [esp + 0x10]
add edx, 0x176
cmp eax, edx
jg 0x47978d
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x13
push eax
lea eax, [ebx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af9d4
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af9d4
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af9d4
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af9d4
push ebp
push eax
jmp 0x47985f
lea eax, [ebx + 0xf4]
cmp ecx, eax
jl 0x47986d
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0x122]
cmp eax, ecx
jg 0x47986d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
lea eax, [edx + 0x142]
cmp ecx, eax
jl 0x47986d
mov eax, edx
add eax, 0x176
cmp ecx, eax
jg 0x47986d
mov ecx, edx
push ebp
push 0x12
lea eax, [ecx + 0x142]
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add eax, 0x14
mov ecx, esi
lea ebp, [edx + 0x23]
mov dword [esp + 0x1c], eax
call fcn.00402250
mov ecx, dword [esp + 0x1c]
push 0
push 0x4af870
push ebp
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af870
push eax
push edx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4af870
push eax
mov eax, dword [esp + 0x28]
mov ecx, esi
inc eax
push eax
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
push 0xffffff
push 0x4af870
push ebp
push ecx
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov edx, dword [esp + 0x10]
mov ecx, esi
lea ebp, [edx + 0x50]
call fcn.00402250
mov eax, dword [esp + 0x10]
add ebp, 0xf
push ebp
lea ebp, [ebx + 0x143]
add eax, 0x50
push ebp
push eax
lea ecx, [esp + 0x38]
push ebx
push ecx
call dword [sym.imp.user32.dll_SetRect]
push 0
lea edx, [esp + 0x30]
push 0x4af820
push edx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x2c]
add eax, 0x5f
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0
lea eax, [esp + 0x30]
push 0x4af7fc
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x6e]
lea edx, [eax + 0xf]
push edx
push ebp
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0
lea ecx, [esp + 0x30]
push 0x4af7d4
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov eax, dword [edi + 0x1e84]
sub eax, 0
je 0x4799cb
dec eax
jne case.default.0x477ae3
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x10]
lea eax, [edx + 0x8c]
lea edx, [esp + 0x2c]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0x320004
lea eax, [esp + 0x30]
push 0x4af7c8
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x10]
add ecx, 0xa0
mov dword [esp + 0x28], ecx
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x28]
lea edx, [eax + 0xf]
push edx
push ebp
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0xffffff
lea ecx, [esp + 0x30]
push 0x4af7bc
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
jmp case.default.0x477ae3
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x10]
lea eax, [edx + 0x8c]
lea edx, [esp + 0x2c]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0xffffff
lea eax, [esp + 0x30]
push 0x4af7c8
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x10]
add ecx, 0xa0
mov dword [esp + 0x28], ecx
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x28]
lea edx, [eax + 0xf]
push edx
push ebp
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0x320004
lea ecx, [esp + 0x30]
push 0x4af7bc
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
jmp case.default.0x477ae3
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xc2]
lea esi, [edx + 0x142]
push 0x14
push esi
push eax
call fcn.00488ff0
mov ecx, dword [edi + 0x36198]
push ebp
lea eax, [ebx + 0xf4]
push 4
push esi
push eax
call fcn.00488ff0
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x10]
movsx edx, word [esp + 0x14]
add eax, 0x28
add edx, ebx
lea ecx, [eax + 0xf]
push ecx
push edx
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
push 0
lea ecx, [esp + 0x30]
push 0x4af794
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [esp + 0x40]
lea eax, [ebx + 0xc2]
cmp ecx, eax
jl 0x479bab
lea edx, [ebx + 0xf0]
mov eax, ecx
cmp eax, edx
jg 0x479bab
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
lea edx, [ecx + 0x142]
cmp eax, edx
jl 0x479bb3
lea edx, [ecx + 0x176]
cmp eax, edx
jg 0x479bb3
mov eax, ecx
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x13
push eax
lea eax, [ebx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af9d4
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af9d4
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af9d4
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af9d4
push ebp
jmp 0x479c7c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0xf4]
cmp dword [esp + 0x40], edx
jl 0x479c8b
lea edx, [ebx + 0x122]
cmp dword [esp + 0x40], edx
jg 0x479c8b
lea edx, [ecx + 0x142]
cmp eax, edx
jl 0x479c8b
add ecx, 0x176
cmp eax, ecx
jg 0x479c8b
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x36198]
push ebp
add eax, 0x142
push 0x12
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, 0x14
lea ebp, [ecx + 0x23]
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00402250
mov eax, dword [esp + 0x1c]
push 0
inc eax
push 0x4af770
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 1]
push 0
push 0x4af770
push eax
push ecx
mov ecx, esi
call fcn.00401ef0
mov edx, dword [esp + 0x1c]
push 0
lea eax, [ebp + 1]
push 0x4af770
push eax
lea eax, [edx + 1]
push eax
mov ecx, esi
call fcn.00401ef0
mov eax, dword [esp + 0x1c]
push 0xffffff
push 0x4af770
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je 0x479ca9
mov edx, dword [edi + 0x4dd34]
mov eax, dword [esp + 0x10]
push edx
push 0x15
push eax
push ebx
call fcn.00488ff0
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0xf]
cmp eax, ecx
jl case.default.0x477ae3
lea edx, [ebx + 0x127]
cmp eax, edx
jg case.default.0x477ae3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
add eax, 0x3c
cmp ecx, eax
jl case.default.0x477ae3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
add ecx, 0x139
cmp eax, ecx
jg case.default.0x477ae3
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je case.default.0x477ae3
mov edx, dword [edi + 0x4dd34]
push edx
push 0x29
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push eax
push edx
call fcn.0048c140
mov al, byte [edi + 0x1f56]
test al, al
jl 0x47a1c4
cmp al, 2
jle 0x479d1b
cmp al, 4
jne 0x47a1c4
xor eax, eax
lea ecx, [edi + 0x4ec01]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov ebp, 0x4a7000
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [ebp]
jne 0x479d57
test al, al
je 0x479d53
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [ebp + 1]
jne 0x479d57
add esi, 2
add ebp, 2
test al, al
jne 0x479d32
xor eax, eax
jmp 0x479d5c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479d72
mov eax, 0xfa
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
jmp 0x479e13
mov ebp, 0x4a6fec
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [ebp]
jne 0x479d9e
test al, al
je 0x479d9a
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [ebp + 1]
jne 0x479d9e
add esi, 2
add ebp, 2
test al, al
jne 0x479d79
xor eax, eax
jmp 0x479da3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479db6
mov eax, 0xfa
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
jmp 0x479e13
mov ebp, 0x4a71ec
mov esi, ecx
mov cl, byte [esi]
mov dl, byte [ebp]
mov al, cl
cmp cl, dl
jne 0x479de6
test al, al
je 0x479de2
mov dl, byte [esi + 1]
mov cl, byte [ebp + 1]
mov al, dl
cmp dl, cl
jne 0x479de6
add esi, 2
add ebp, 2
test al, al
jne 0x479dbd
xor eax, eax
jmp 0x479deb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47a1c4
mov dword [esp + 0x14], 0x118
mov dword [esp + 0x1c], 0xfd
mov dword [esp + 0x24], 0x2f0
mov dword [esp + 0x20], 0x2a8
mov ebp, dword [esp + 0x10]
lea eax, [edi + 0x3fa0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0x12c
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0
je case.0x479eaf.40
mov edx, ecx
movsx ecx, word [esp + 0x14]
movsx eax, word [edx - 4]
movsx edx, word [esp + 0x24]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fmulp st(1)
fild dword [esp + 0x10]
fdivp st(1)
call fcn.00491c5c
movsx edx, word [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x18]
movsx ecx, word [eax - 2]
movsx eax, word [esp + 0x20]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmulp st(1)
fild dword [esp + 0x10]
fdivp st(1)
call fcn.00491c5c
mov ecx, dword [esp + 0x18]
movsx ecx, byte [ecx]
add ecx, 0xffffffdc
cmp ecx, 6
ja case.0x479eaf.40
jmp dword [ecx*4 + 0x47a2fc]
mov edx, dword [esp + 0x18]
mov cl, byte [edx + 1]
cmp cl, 1
mov ecx, dword [edi + 0x36198]
jne 0x479eed
test ecx, ecx
je case.0x479eaf.40
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x27
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.0048c140
jmp case.0x479eaf.40
test ecx, ecx
je case.0x479eaf.40
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x25
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.0048c140
jmp case.0x479eaf.40
mov ecx, dword [esp + 0x18]
mov dl, byte [ecx + 1]
mov ecx, dword [edi + 0x36198]
cmp dl, 1
jne 0x479f3f
test ecx, ecx
je case.0x479eaf.40
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x26
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.0048c140
jmp case.0x479eaf.40
test ecx, ecx
je case.0x479eaf.40
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x24
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.0048c140
jmp case.0x479eaf.40
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je case.0x479eaf.40
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x28
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.00488ff0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add ecx, 6
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
jne 0x479e29
mov eax, dword [edi + 0x4e630]
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
je 0x47a041
movsx eax, word [esp + 0x14]
fild dword [esp + 0x28]
movsx ecx, word [esp + 0x24]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
mov dword [esp + 0x28], ecx
fmulp st(1)
fild dword [esp + 0x28]
fdivp st(1)
call fcn.00491c5c
movsx edx, word [esp + 0x1c]
fild dword [edi + 0x4e634]
mov esi, eax
mov dword [esp + 0x28], edx
movsx eax, word [esp + 0x20]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fmulp st(1)
fild dword [esp + 0x28]
fdivp st(1)
call fcn.00491c5c
cmp byte [edi + 0x1f56], 1
jne 0x47a01f
cmp eax, 0x64
jl 0x47a01f
cmp eax, 0x2d4
jg 0x47a01f
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je 0x47a041
jmp 0x47a029
mov ecx, dword [edi + 0x36198]
test ecx, ecx
je 0x47a041
mov edx, dword [edi + 0x4dd34]
lea eax, [eax + ebp + 0x3c]
push edx
push 0x2a
lea edx, [ebx + esi + 0xf]
push eax
push edx
call fcn.0048c140
cmp byte [edi + 0x1f56], 2
je 0x47a0d1
mov eax, dword [edi + 0x4e624]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x47a0d1
mov esi, dword [edi + 0x36198]
test esi, esi
je 0x47a0d1
movsx ecx, word [esp + 0x1c]
fild dword [edi + 0x4e628]
movsx edx, word [esp + 0x20]
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 0x4dd34]
fild dword [esp + 0x28]
mov dword [esp + 0x28], edx
push eax
fmulp st(1)
fild dword [esp + 0x2c]
push 0x29
fdivp st(1)
call fcn.00491c5c
movsx ecx, word [esp + 0x1c]
fild dword [esp + 0x20]
movsx edx, word [esp + 0x2c]
mov dword [esp + 0x30], ecx
lea eax, [eax + ebp + 0x3c]
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
push eax
fmulp st(1)
fild dword [esp + 0x34]
fdivp st(1)
call fcn.00491c5c
lea eax, [eax + ebx + 0xf]
mov ecx, esi
push eax
call fcn.0048c140
mov eax, 0x4a71ec
lea esi, [edi + 0x4ea27]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [eax]
jne 0x47a100
test cl, cl
je 0x47a0fc
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x47a100
add esi, 2
add eax, 2
test cl, cl
jne 0x47a0dc
xor eax, eax
jmp 0x47a105
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47a1c8
movsx eax, word [edi + 0x4e662]
movsx ecx, word [esp + 0x14]
mov esi, dword [edi + 0x4a258]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
movsx edx, word [esi + 0x934458]
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
mov dword [esp + 0x28], edx
fmulp st(1)
fild dword [esp + 0x28]
fdivp st(1)
call fcn.00491c5c
mov dword [esp + 0x24], eax
movsx eax, word [esi + 0x93445a]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fcom qword [0x4a22c0]
fnstsw ax
test ah, 0x40
je 0x47a16f
fstp st(0)
fld qword [0x4a22b0]
mov esi, dword [edi + 0x36198]
test esi, esi
je 0x47a1c0
movsx edx, word [edi + 0x4e664]
movsx eax, word [esp + 0x1c]
mov dword [esp + 0x28], edx
mov ecx, dword [edi + 0x4dd34]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
push ecx
fild dword [esp + 0x2c]
push 0x2b
fmulp st(1)
fdiv st(1)
call fcn.00491c5c
mov edx, dword [esp + 0x2c]
lea ecx, [eax + ebp + 0x3c]
push ecx
mov ecx, esi
lea eax, [ebx + edx + 0xf]
push eax
fstp st(0)
call fcn.00488ff0
jmp 0x47a1c8
fstp st(0)
jmp 0x47a1c8
mov ebp, dword [esp + 0x10]
mov al, byte [edi + 0x1f56]
test al, al
jl 0x47a2de
cmp al, 1
jle 0x47a1e2
cmp al, 4
jne 0x47a2de
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0xf]
cmp eax, ecx
jl 0x47a2de
lea edx, [ebx + 0x127]
cmp eax, edx
jg 0x47a2de
mov esi, dword [esp + 0x44]
lea ecx, [ebp + 0x3c]
cmp esi, ecx
jl 0x47a2de
lea edx, [ebp + 0x139]
cmp esi, edx
jg 0x47a2de
sub eax, ebx
sub eax, 0xf
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul qword [0x4a22c0]
fmul qword [0x4a22b8]
call fcn.00491c5c
sub esi, ebp
mov ebx, eax
sub esi, 0x3c
mov dword [esp + 0x28], esi
fild dword [esp + 0x28]
fmul qword [0x4a22b0]
fmul qword [0x4a22a8]
call fcn.00491c5c
cmp ebx, 0x1e
jge 0x47a264
mov ebx, 0x1e
cmp eax, 0x1e
jge 0x47a26e
mov eax, 0x1e
cmp ebx, 0x2d2
jle 0x47a27b
mov ebx, 0x2d2
cmp eax, 0x28a
jle 0x47a287
mov eax, 0x28a
push eax
lea esi, [edi + 0x4e763]
push ebx
push 0x4a761c
push esi
call dword [sym.imp.user32.dll_wsprintfA]
mov ax, word [edi + 0x4e6f8]
mov cx, word [edi + 0x4e6d8]
mov dx, word [edi + 0x4e6b8]
add esp, 0x10
shl ax, 2
push 2
push 0
shl cx, 2
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
shl dx, 2
push edx
add eax, 0xfffffff6
push esi
add ecx, 0xa
push eax
push ecx
mov ecx, edi
call fcn.00414890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 8