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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebx, dword [edi + 0x4dd34]
mov edx, dword [edi + 0x4dd78]
mov ax, word [edi + 0x1fa8]
mov si, word [edi + 0x1fa4]
mov bp, word [edi + 0x1fa6]
mov ecx, ebx
sub ecx, edx
mov dword [esp + 0x18], ebx
cmp ecx, 0x2710
mov word [esp + 0x1c], ax
jbe 0x47a385
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], ebx
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
movsx ebp, bp
movsx ebx, si
test ecx, ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
je 0x47a3bf
mov edx, dword [edi + 0x4e478]
push eax
push 0
cmp edx, 1
push ebp
push ebx
jne 0x47a3ba
call fcn.0048c140
jmp 0x47a3bf
call fcn.00488ff0
mov ecx, dword [edi + 0x36190]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je 0x47a3eb
mov edx, dword [edi + 0x4e478]
push eax
push 0x10
cmp edx, 1
push ebp
push ebx
jne 0x47a3e6
call fcn.0048c140
jmp 0x47a3eb
call fcn.00488ff0
movsx eax, byte [edi + 0x202e]
sub eax, 0
je 0x47ae50
dec eax
je 0x47a726
dec eax
jne 0x47b1ec
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
movsx ecx, word [esp + 0x1c]
lea eax, [ebp + 0x28]
add ecx, ebx
lea edx, [eax + 0xf]
push edx
push ecx
push eax
lea edx, [esp + 0x44]
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0
lea eax, [esp + 0x3c]
push 0x4afcdc
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je 0x47a478
mov edx, dword [edi + 0x4e478]
push eax
push 0x15
cmp edx, 1
push ebp
push ebx
jne 0x47a473
call fcn.0048c140
jmp 0x47a478
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0x46]
cmp ecx, eax
jl 0x47a4b1
lea edx, [ebx + 0x74]
cmp ecx, edx
jg 0x47a4b1
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47a4b1
lea eax, [ebp + 0x176]
cmp ecx, eax
jg 0x47a4b1
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 0x142]
push ecx
push 0xf
jmp 0x47a4be
mov edx, dword [esp + 0x18]
lea eax, [ebp + 0x142]
push edx
push 1
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [ebx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0xc2]
cmp ecx, eax
jl 0x47a507
lea eax, [ebx + 0xf0]
cmp ecx, eax
jg 0x47a507
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47a507
lea edx, [ebp + 0x176]
cmp ecx, edx
jg 0x47a507
mov eax, dword [esp + 0x18]
push eax
push 0x13
jmp 0x47a50e
mov ecx, dword [esp + 0x18]
push ecx
push 0x14
mov ecx, dword [edi + 0x36198]
lea eax, [ebp + 0x142]
push eax
lea eax, [ebx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0xf4]
cmp ecx, eax
jl 0x47a560
lea edx, [ebx + 0x122]
cmp ecx, edx
jg 0x47a560
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47a560
lea eax, [ebp + 0x176]
cmp ecx, eax
jg 0x47a560
mov ecx, dword [esp + 0x18]
push ecx
push 0x12
jmp 0x47a567
mov edx, dword [esp + 0x18]
push edx
push 4
mov ecx, dword [edi + 0x36198]
lea eax, [ebp + 0x142]
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0x46]
cmp ecx, eax
jl 0x47a602
lea eax, [ebx + 0x74]
cmp ecx, eax
jg 0x47a602
mov eax, dword [esp + 0x50]
lea edx, [ebp + 0x142]
cmp eax, edx
jl 0x47a606
lea edx, [ebp + 0x176]
cmp eax, edx
jg 0x47a606
lea ebp, [ecx + 0x14]
mov ecx, esi
lea ebx, [eax + 0x23]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afcbc
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afcbc
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afcbc
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afcbc
jmp 0x47b1dc
mov eax, dword [esp + 0x50]
lea edx, [ebx + 0xc2]
cmp ecx, edx
jl 0x47a68e
lea edx, [ebx + 0xf0]
cmp ecx, edx
jg 0x47a68e
lea edx, [ebp + 0x142]
cmp eax, edx
jl 0x47a68e
lea edx, [ebp + 0x176]
cmp eax, edx
jg 0x47a68e
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
lea ebp, [ecx + 0x14]
mov ecx, esi
lea ebx, [eax + 0x23]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afca0
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afca0
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afca0
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afca0
jmp 0x47b1dc
lea edx, [ebx + 0xf4]
cmp ecx, edx
jl 0x47b1ec
add ebx, 0x122
cmp ecx, ebx
jg 0x47b1ec
lea ecx, [ebp + 0x142]
cmp eax, ecx
jl 0x47b1ec
add ebp, 0x176
cmp eax, ebp
jg 0x47b1ec
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, esi
lea ebx, [edx + 0x23]
lea ebp, [eax + 0x14]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afc8c
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afc8c
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afc8c
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afc8c
jmp 0x47b1dc
mov ecx, dword [esp + 0x14]
lea esi, [edi + 0x6004]
lea ebx, [ecx + 0x28]
mov ecx, esi
call fcn.00402250
movsx eax, word [esp + 0x1c]
mov ebp, dword [esp + 0x10]
lea edx, [ebx + 0xf]
add eax, ebp
push edx
push eax
push ebx
mov ebx, dword [sym.imp.user32.dll_SetRect]
lea ecx, [esp + 0x44]
push ebp
push ecx
call ebx
push 0
lea edx, [esp + 0x3c]
push 0x4afc78
push edx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add eax, 0x50
add ebp, 0x143
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
lea eax, [esp + 0x44]
push edx
push eax
call ebx
push 0
lea ecx, [esp + 0x3c]
push 0x4afc54
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x5f]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
lea eax, [esp + 0x44]
push edx
push eax
call ebx
push 0
lea ecx, [esp + 0x3c]
push 0x4afc38
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x6e]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
lea eax, [esp + 0x44]
push edx
push eax
call ebx
push 0
lea ecx, [esp + 0x3c]
push 0x4afc0c
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x7d]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
lea eax, [esp + 0x44]
push edx
push eax
call ebx
push 0
lea ecx, [esp + 0x3c]
push 0x4afbe8
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x8c]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
lea eax, [esp + 0x44]
push edx
push eax
call ebx
push 0
lea ecx, [esp + 0x3c]
push 0x4afbcc
push ecx
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, esi
call fcn.00402250
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x9b]
lea edx, [esp + 0x38]
lea ecx, [eax + 0xf]
push ecx
push ebp
mov ebp, dword [esp + 0x18]
push eax
push ebp
push edx
call ebx
push 0
lea eax, [esp + 0x3c]
push 0x4afbb8
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov eax, dword [esp + 0x4c]
add ebp, 0x14
cmp eax, ebp
mov dword [esp + 0x24], ebp
jl 0x47a92b
mov ecx, dword [esp + 0x10]
mov ebx, eax
add ecx, 0x42
cmp ebx, ecx
jg 0x47a935
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x50]
lea eax, [ecx + 0xdc]
cmp ebp, eax
jl 0x47a939
add ecx, 0x10e
cmp ebp, ecx
jg 0x47a939
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push edx
add eax, 0xdc
push 0x1b
push eax
push ecx
jmp 0x47a950
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
jmp 0x47a939
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ecx
push 0x21
lea eax, [edx + 0xdc]
mov edx, dword [esp + 0x2c]
push eax
push edx
mov ecx, dword [edi + 0x36198]
call fcn.00488ff0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x46]
cmp ebx, eax
jl 0x47a98e
add ecx, 0x73
cmp ebx, ecx
jg 0x47a98e
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0xdc]
cmp ebp, eax
jl 0x47a98e
add ecx, 0x10e
cmp ebp, ecx
jg 0x47a98e
mov eax, dword [esp + 0x18]
push eax
push 0x1c
jmp 0x47a995
mov eax, dword [esp + 0x18]
push eax
push 0x22
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [ecx + 0xdc]
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [edx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x78]
cmp ebx, eax
jl 0x47a9e9
add ecx, 0xa5
cmp ebx, ecx
jg 0x47a9e9
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0xdc]
cmp ebp, eax
jl 0x47a9e9
add ecx, 0x10e
cmp ebp, ecx
jg 0x47a9e9
mov eax, dword [esp + 0x18]
push eax
push 0x1a
jmp 0x47a9f0
mov eax, dword [esp + 0x18]
push eax
push 0x20
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [ecx + 0xdc]
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [edx + 0x78]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xaa]
cmp ebx, eax
jl 0x47aa47
add ecx, 0xd7
cmp ebx, ecx
jg 0x47aa47
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0xdc]
cmp ebp, eax
jl 0x47aa47
add ecx, 0x10e
cmp ebp, ecx
jg 0x47aa47
mov eax, dword [esp + 0x18]
push eax
push 0x19
jmp 0x47aa4e
mov eax, dword [esp + 0x18]
push eax
push 0x1f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [ecx + 0xdc]
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [edx + 0xaa]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xc2]
cmp ebx, eax
jl 0x47aab1
add ecx, 0xf0
cmp ebx, ecx
jg 0x47aab1
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x142]
cmp ebp, eax
mov dword [esp + 0x1c], eax
jl 0x47aab1
add ecx, 0x176
cmp ebp, ecx
jg 0x47aab1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
push 0x13
push ecx
jmp 0x47aac6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, 0x142
push ecx
push 0x14
mov dword [esp + 0x24], eax
push eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi + 0x36198]
lea eax, [edx + 0xc2]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xf4]
cmp ebx, eax
mov dword [esp + 0x20], eax
jl 0x47ab14
add ecx, 0x122
cmp ebx, ecx
jg 0x47ab14
cmp ebp, dword [esp + 0x1c]
jl 0x47ab14
mov eax, dword [esp + 0x14]
add eax, 0x176
cmp ebp, eax
jg 0x47ab14
mov ecx, dword [esp + 0x18]
push ecx
push 0x12
jmp 0x47ab1b
mov ecx, dword [esp + 0x18]
push ecx
push 4
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x36198]
push edx
push eax
call fcn.00488ff0
mov eax, dword [esp + 0x24]
cmp ebx, eax
mov eax, dword [esp + 0x10]
jl 0x47abb5
lea ecx, [eax + 0x42]
cmp ebx, ecx
mov ecx, dword [esp + 0x14]
jg 0x47abb9
lea edx, [ecx + 0xdc]
cmp ebp, edx
jl 0x47abb9
lea edx, [ecx + 0x10e]
cmp ebp, edx
jg 0x47abb9
mov ecx, esi
add ebp, 0x23
add ebx, 0x14
call fcn.00402250
push 0
lea eax, [ebx + 1]
push 0x4ab284
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4ab284
push eax
push ebx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4ab284
push eax
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4ab284
push ebp
push ebx
jmp 0x47b1de
mov ecx, dword [esp + 0x14]
lea edx, [eax + 0x46]
cmp ebx, edx
jl 0x47ac35
lea edx, [eax + 0x73]
cmp ebx, edx
jg 0x47ac35
lea edx, [ecx + 0xdc]
cmp ebp, edx
jl 0x47ac35
lea edx, [ecx + 0x10e]
cmp ebp, edx
jg 0x47ac35
mov ecx, esi
add ebp, 0x23
add ebx, 0x14
call fcn.00402250
push 0
lea eax, [ebx + 1]
push 0x4a6bc8
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4a6bc8
push eax
push ebx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4a6bc8
push eax
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4a6bc8
push ebp
push ebx
jmp 0x47b1de
lea edx, [eax + 0x78]
cmp ebx, edx
jl 0x47acb4
lea edx, [eax + 0xa5]
cmp ebx, edx
jg 0x47acb4
lea edx, [ecx + 0xdc]
cmp ebp, edx
jl 0x47acb4
lea edx, [ecx + 0x10e]
cmp ebp, edx
jg 0x47acb4
mov ecx, esi
add ebp, 0x23
add ebx, 0x14
call fcn.00402250
push 0
lea eax, [ebx + 1]
push 0x4ab2ec
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4ab2ec
push eax
push ebx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4ab2ec
push eax
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4ab2ec
push ebp
push ebx
jmp 0x47b1de
lea edx, [eax + 0xaa]
cmp ebx, edx
jl 0x47ad36
lea edx, [eax + 0xd7]
cmp ebx, edx
jg 0x47ad36
lea edx, [ecx + 0xdc]
cmp ebp, edx
jl 0x47ad36
lea edx, [ecx + 0x10e]
cmp ebp, edx
jg 0x47ad36
mov ecx, esi
add ebp, 0x23
add ebx, 0x14
call fcn.00402250
push 0
lea eax, [ebx + 1]
push 0x4ab2b4
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4ab2b4
push eax
push ebx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4ab2b4
push eax
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4ab2b4
push ebp
push ebx
jmp 0x47b1de
lea edx, [eax + 0xc2]
cmp ebx, edx
jl 0x47adb3
add eax, 0xf0
cmp ebx, eax
jg 0x47adb3
cmp ebp, dword [esp + 0x1c]
jl 0x47adb3
add ecx, 0x176
cmp ebp, ecx
jg 0x47adb3
mov ecx, esi
add ebp, 0x23
add ebx, 0x14
call fcn.00402250
push 0
lea eax, [ebx + 1]
push 0x4afb9c
push ebp
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebp + 1]
push 0
push 0x4afb9c
push eax
push ebx
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebp + 1]
push 0x4afb9c
push eax
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afb9c
push ebp
push ebx
jmp 0x47b1de
cmp ebx, dword [esp + 0x20]
jl 0x47b1ec
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
add eax, 0x122
cmp ecx, eax
jg 0x47b1ec
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
cmp eax, ecx
jl 0x47b1ec
mov edx, dword [esp + 0x14]
add edx, 0x176
cmp eax, edx
jg 0x47b1ec
mov ecx, dword [esp + 0x4c]
lea ebx, [eax + 0x23]
lea ebp, [ecx + 0x14]
mov ecx, esi
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afb84
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afb84
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afb84
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afb84
jmp 0x47b1dc
cmp dword [edi + 0x4e624], 0xffffffff
je 0x47aedf
xor edx, edx
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], edx
lea ecx, [edi + 0x4ec59]
push eax
mov dword [esp + 0x34], edx
push ecx
mov ecx, edi
mov dword [esp + 0x3c], edx
call fcn.00451530
mov edx, dword [edi + 0x4e628]
mov ecx, dword [edi + 0x4e624]
push edx
lea edx, [esp + 0x30]
push ecx
lea eax, [edi + 0x4e763]
push edx
push 0x4afb5c
push eax
call dword [sym.imp.user32.dll_wsprintfA]
lea esi, [edi + 0x6004]
add esp, 0x14
mov ecx, esi
call fcn.00402250
movsx edx, word [esp + 0x1c]
lea eax, [ebp + 0x28]
add edx, ebx
lea ecx, [eax + 0xf]
push ecx
push edx
push eax
lea eax, [esp + 0x44]
push ebx
push eax
call dword [sym.imp.user32.dll_SetRect]
lea eax, [edi + 0x4e763]
push 0
lea ecx, [esp + 0x3c]
push eax
push ecx
jmp 0x47af14
lea esi, [edi + 0x6004]
mov ecx, esi
call fcn.00402250
movsx ecx, word [esp + 0x1c]
lea eax, [ebp + 0x28]
add ecx, ebx
lea edx, [eax + 0xf]
push edx
push ecx
push eax
lea edx, [esp + 0x44]
push ebx
push edx
call dword [sym.imp.user32.dll_SetRect]
push 0
lea eax, [esp + 0x3c]
push 0x4afb2c
push eax
mov ecx, esi
call fcn.004022b0
mov ecx, esi
call fcn.00402290
mov ecx, dword [edi + 0x36198]
mov eax, dword [edi + 0x4dd34]
test ecx, ecx
je 0x47af4e
mov edx, dword [edi + 0x4e478]
push eax
push 0x15
cmp edx, 1
push ebp
push ebx
jne 0x47af49
call fcn.0048c140
jmp 0x47af4e
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0x14]
cmp ecx, eax
jl 0x47af87
lea edx, [ebx + 0x42]
cmp ecx, edx
jg 0x47af87
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47af87
lea eax, [ebp + 0x176]
cmp ecx, eax
jg 0x47af87
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 0x142]
push ecx
push 0x18
jmp 0x47af94
mov edx, dword [esp + 0x18]
lea eax, [ebp + 0x142]
push edx
push 0x1e
mov ecx, dword [edi + 0x36198]
push eax
lea eax, [ebx + 0x14]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0x46]
cmp ecx, eax
jl 0x47afd7
lea eax, [ebx + 0x74]
cmp ecx, eax
jg 0x47afd7
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47afd7
lea edx, [ebp + 0x176]
cmp ecx, edx
jg 0x47afd7
mov eax, dword [esp + 0x18]
push eax
push 0xf
jmp 0x47afde
mov ecx, dword [esp + 0x18]
push ecx
push 1
mov ecx, dword [edi + 0x36198]
lea eax, [ebp + 0x142]
push eax
lea eax, [ebx + 0x46]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0xf4]
cmp ecx, eax
jl 0x47b02d
lea edx, [ebx + 0x122]
cmp ecx, edx
jg 0x47b02d
mov ecx, dword [esp + 0x50]
lea eax, [ebp + 0x142]
cmp ecx, eax
jl 0x47b02d
lea eax, [ebp + 0x176]
cmp ecx, eax
jg 0x47b02d
mov ecx, dword [esp + 0x18]
push ecx
push 0x12
jmp 0x47b034
mov edx, dword [esp + 0x18]
push edx
push 4
mov ecx, dword [edi + 0x36198]
lea eax, [ebp + 0x142]
push eax
lea eax, [ebx + 0xf4]
push eax
call fcn.00488ff0
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + 0x14]
cmp ecx, eax
jl 0x47b0cf
lea eax, [ebx + 0x42]
cmp ecx, eax
jg 0x47b0cf
mov eax, dword [esp + 0x50]
lea edx, [ebp + 0x142]
cmp eax, edx
jl 0x47b0d3
lea edx, [ebp + 0x176]
cmp eax, edx
jg 0x47b0d3
lea ebp, [ecx + 0x14]
mov ecx, esi
lea ebx, [eax + 0x23]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afc78
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afc78
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afc78
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afc78
jmp 0x47b1dc
mov eax, dword [esp + 0x50]
lea edx, [ebx + 0x46]
cmp ecx, edx
jl 0x47b155
lea edx, [ebx + 0x74]
cmp ecx, edx
jg 0x47b155
lea edx, [ebp + 0x142]
cmp eax, edx
jl 0x47b155
lea edx, [ebp + 0x176]
cmp eax, edx
jg 0x47b155
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
lea ebp, [ecx + 0x14]
mov ecx, esi
lea ebx, [eax + 0x23]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afb04
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afb04
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afb04
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afb04
jmp 0x47b1dc
lea edx, [ebx + 0xf4]
cmp ecx, edx
jl 0x47b1ec
add ebx, 0x122
cmp ecx, ebx
jg 0x47b1ec
lea ecx, [ebp + 0x142]
cmp eax, ecx
jl 0x47b1ec
add ebp, 0x176
cmp eax, ebp
jg 0x47b1ec
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, esi
lea ebx, [edx + 0x23]
lea ebp, [eax + 0x14]
call fcn.00402250
push 0
lea eax, [ebp + 1]
push 0x4afaec
push ebx
push eax
mov ecx, esi
call fcn.00401ef0
lea eax, [ebx + 1]
push 0
push 0x4afaec
push eax
push ebp
mov ecx, esi
call fcn.00401ef0
push 0
lea eax, [ebx + 1]
push 0x4afaec
push eax
lea eax, [ebp + 1]
mov ecx, esi
push eax
call fcn.00401ef0
push 0xffffff
push 0x4afaec
push ebx
push ebp
mov ecx, esi
call fcn.00401ef0
mov ecx, esi
call fcn.00402290
movsx eax, byte [edi + 0x202e]
xor edx, edx
sub eax, edx
je 0x47b202
sub eax, 2
jne 0x47b6cc
lea ebp, [edi + 0x4ec01]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edx
mov esi, 0x4a7000
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47b243
test cl, cl
je 0x47b23f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47b243
add eax, 2
add esi, 2
test cl, cl
jne 0x47b21f
xor eax, eax
jmp 0x47b248
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edx
jne 0x47b25e
mov eax, 0xfa
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
jmp 0x47b2f9
mov esi, 0x4a6fec
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47b289
test cl, cl
je 0x47b285
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47b289
add eax, 2
add esi, 2
test cl, cl
jne 0x47b265
xor eax, eax
jmp 0x47b28e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edx
jne 0x47b2a1
mov eax, 0xfa
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
jmp 0x47b2f9
mov esi, 0x4a71ec
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47b2cc
test cl, cl
je 0x47b2c8
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47b2cc
add eax, 2
add esi, 2
test cl, cl
jne 0x47b2a8
xor eax, eax
jmp 0x47b2d1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edx
jne 0x47b3ae
mov dword [esp + 0x1c], 0x118
mov dword [esp + 0x18], 0xfd
mov dword [esp + 0x24], 0x2f0
mov dword [esp + 0x20], 0x2a8
mov ebp, dword [esp + 0x14]
lea esi, [edi + 0x3fa0]
mov dword [esp + 0x28], 0x12c
cmp byte [esi], 0x2a
jne 0x47b39a
mov ebx, dword [edi + 0x36198]
test ebx, ebx
je 0x47b39a
movsx edx, word [esi - 2]
movsx eax, word [esp + 0x18]
mov ecx, dword [edi + 0x4dd34]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push ecx
mov dword [esp + 0x18], eax
movsx ecx, word [esp + 0x24]
fild dword [esp + 0x18]
mov dword [esp + 0x18], ecx
push 0x28
fmulp st(1)
fild dword [esp + 0x1c]
fdivp st(1)
call fcn.00491c5c
movsx ecx, word [esp + 0x24]
lea edx, [eax + ebp + 0x3c]
movsx eax, word [esi - 4]
mov dword [esp + 0x1c], eax
push edx
fild dword [esp + 0x20]
movsx edx, word [esp + 0x30]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], edx
fmulp st(1)
fild dword [esp + 0x20]
fdivp st(1)
call fcn.00491c5c
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx + 0xf]
mov ecx, ebx
push edx
call fcn.00488ff0
mov eax, dword [esp + 0x28]
add esi, 6
dec eax
mov dword [esp + 0x28], eax
jne 0x47b30b
jmp 0x47b3b2
mov ebp, dword [esp + 0x14]
mov eax, dword [edi + 0x4e630]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x47b445
cmp word [esp + 0x1c], 0
je 0x47b445
mov esi, dword [edi + 0x36198]
test esi, esi
je 0x47b445
movsx ecx, word [esp + 0x18]
fild dword [edi + 0x4e634]
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 0x2a
fdivp st(1)
call fcn.00491c5c
movsx ecx, word [esp + 0x24]
fild dword [esp + 0x1c]
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
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx + 0xf]
mov ecx, esi
push edx
call fcn.0048c140
cmp byte [edi + 0x202e], 2
je 0x47b4e5
mov eax, dword [edi + 0x4e624]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x47b4e5
cmp word [esp + 0x1c], 0
je 0x47b4e5
mov esi, dword [edi + 0x36198]
test esi, esi
je 0x47b4e5
movsx ecx, word [esp + 0x18]
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 + 0x24]
fild dword [esp + 0x1c]
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
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx + 0xf]
mov ecx, esi
push edx
call fcn.0048c140
mov esi, 0x4a71ec
lea eax, [edi + 0x4ea27]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x47b518
test cl, cl
je 0x47b514
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x47b518
add eax, 2
add esi, 2
test cl, cl
jne 0x47b4f0
xor eax, eax
jmp 0x47b51d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b5cc
movsx eax, word [edi + 0x4e662]
mov esi, dword [edi + 0x4a258]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
movsx ecx, word [esi + 0x934458]
fmul qword [0x4a2320]
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
fdivp st(1)
call fcn.00491c5c
movsx edx, word [esi + 0x93445a]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x28]
fcom qword [0x4a22c0]
fnstsw ax
test ah, 0x40
je 0x47b57e
fstp st(0)
fld qword [0x4a22b0]
mov esi, dword [edi + 0x36198]
test esi, esi
je 0x47b5ca
movsx ecx, word [edi + 0x4e664]
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 0x4dd34]
fild dword [esp + 0x28]
push eax
push 0x2b
fmul qword [0x4a2318]
fdiv st(1)
call fcn.00491c5c
mov ebx, dword [esp + 0x18]
lea edx, [eax + ebp + 0x3c]
mov eax, dword [esp + 0x2c]
push edx
fstp st(0)
lea ecx, [ebx + eax + 0xf]
push ecx
mov ecx, esi
call fcn.00488ff0
jmp 0x47b5d0
fstp st(0)
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
lea edx, [ebx + 0xf]
cmp eax, edx
jl 0x47b6cc
lea ecx, [ebx + 0x127]
cmp eax, ecx
jg 0x47b6cc
mov esi, dword [esp + 0x50]
lea edx, [ebp + 0x3c]
cmp esi, edx
jl 0x47b6cc
lea ecx, [ebp + 0x139]
cmp esi, ecx
jg 0x47b6cc
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 0x47b652
mov ebx, 0x1e
cmp eax, 0x1e
jge 0x47b65c
mov eax, 0x1e
cmp ebx, 0x2d2
jle 0x47b669
mov ebx, 0x2d2
cmp eax, 0x28a
jle 0x47b675
mov eax, 0x28a
push eax
lea esi, [edi + 0x4e763]
push ebx
push 0x4a761c
push esi
call dword [sym.imp.user32.dll_wsprintfA]
mov dx, word [edi + 0x4e6f8]
mov ax, word [edi + 0x4e6d8]
mov cx, word [edi + 0x4e6b8]
add esp, 0x10
shl dx, 2
push 2
push 0
shl ax, 2
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
shl cx, 2
push ecx
add edx, 0xfffffff6
push esi
add eax, 0xa
push edx
push eax
mov ecx, edi
call fcn.00414890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 8