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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b4cd5
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x5f8800]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x80], esi
movzx eax, word [esi + 0x143422]
mov edi, dword [esi + 0x1892f0]
mov dword [ebp - 0x68], eax
movzx eax, word [esi + 0x143424]
mov dword [ebp - 0x70], eax
movzx eax, word [esi + 0x143426]
mov dword [ebp - 0x6c], eax
mov eax, edi
sub eax, dword [esi + 0x18932c]
mov dword [ebp - 0x74], edi
cmp eax, 0x2710
jbe 0x4c56c7
push 1
push str.middleland
call fcn.00481e90
mov dword [esi + 0x18932c], edi
mov eax, dword [ebp - 0x70]
movsx ecx, ax
mov eax, dword [ebp - 0x68]
movsx edi, ax
movzx eax, byte [esi + 0x189654]
push eax
push 0
push 0
lea eax, [ecx - 0xb]
mov dword [ebp - 0x60], ecx
push eax
lea eax, [edi - 1]
mov dword [ebp - 0x58], edi
push eax
push 0x48
mov ecx, esi
call fcn.0043d1d0
movzx eax, byte [esi + 0x189654]
mov ecx, esi
push eax
push 0
push 0x10
push dword [ebp - 0x60]
push edi
push 0x46
call fcn.0043d1d0
movsx eax, word [esi + 0x14352c]
mov edi, dword [ebp + 0xc]
sub eax, 0
je 0x4c643d
sub eax, 1
je 0x4c5a26
sub eax, 1
jne 0x4c6932
xorps xmm0, xmm0
mov dword [ebp - 0x28], eax
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], eax
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR19]
mov dword [ebp - 0x38], eax
add esp, 4
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5d5140]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5d5148]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c57a6
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
add eax, 0x28
push eax
mov eax, dword [ebp - 0x6c]
cwde
add eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.0045d060
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.00411640
movzx eax, byte [esi + 0x189654]
mov ecx, esi
push eax
push 0
push 0x15
push dword [ebp - 0x60]
push dword [ebp - 0x58]
push 0x48
call fcn.0043d1d0
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp + 8]
lea ecx, [eax + 0x46]
mov dword [ebp - 0x6c], ecx
cmp edx, ecx
jl 0x4c582d
add eax, 0x74
cmp edx, eax
mov eax, dword [ebp - 0x60]
jg 0x4c5830
lea ecx, [eax + 0x154]
mov dword [ebp - 0x54], ecx
cmp edi, ecx
jl 0x4c5830
lea edx, [eax + 0x188]
mov dword [ebp - 0x5c], edx
cmp edi, edx
jg 0x4c5830
mov edx, 0xf
jmp 0x4c5846
mov eax, dword [ebp - 0x60]
lea ecx, [eax + 0x154]
mov edx, 1
add eax, 0x188
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], eax
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
mov eax, esi
push edx
push ecx
push dword [ebp - 0x6c]
mov ecx, dword [eax + 0x14aa2c]
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0xc2]
cmp ecx, edx
jl 0x4c5895
add eax, 0xf0
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c5898
cmp edi, eax
jl 0x4c5898
cmp edi, dword [ebp - 0x5c]
jg 0x4c5898
mov ecx, 0x13
jmp 0x4c589d
mov eax, dword [ebp - 0x54]
mov ecx, 0x14
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp + 8]
lea edx, [ecx + 0xf4]
mov dword [ebp - 0x68], edx
cmp eax, edx
jl 0x4c58ef
lea edx, [ecx + 0x122]
cmp eax, edx
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x54]
jg 0x4c58f2
cmp edi, eax
jl 0x4c58f2
cmp edi, dword [ebp - 0x5c]
jg 0x4c58f2
mov edx, 0x12
jmp 0x4c5900
mov eax, dword [ebp - 0x54]
add ecx, 0x122
mov edx, 4
mov dword [ebp - 0x70], ecx
push 0
mov ecx, dword [esi + 0x14aa2c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push edx
push eax
push dword [ebp - 0x68]
call fcn.0057e2f0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x6c]
jl 0x4c596d
lea eax, [edx + 0x74]
cmp ecx, eax
jg 0x4c596d
cmp edi, dword [ebp - 0x54]
jl 0x4c596d
cmp edi, dword [ebp - 0x5c]
jg 0x4c596d
push str.DRAW_DIALOGBOX_CONSTRUCTOR20
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
jmp 0x4c68f7
lea eax, [edx + 0xc2]
cmp ecx, eax
jl 0x4c59a8
lea eax, [edx + 0xf0]
mov edx, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c59ae
cmp edi, eax
jl 0x4c59ae
cmp edi, edx
jg 0x4c59ae
push str.DRAW_DIALOGBOX_CONSTRUCTOR21
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0x14
jmp 0x4c68e9
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0x68]
jl 0x4c6932
cmp ecx, dword [ebp - 0x70]
jg 0x4c6932
cmp edi, eax
jl 0x4c6932
cmp edi, edx
jg 0x4c6932
push str.DRAW_DIALOGBOX_CONSTRUCTOR22
lea ecx, [ebp - 0x50]
call fcn.0040f9f0
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0x15
push eax
mov ecx, 0x5fd3c4
call fcn.00411e80
cmp dword [eax + 0x14], 0xf
jbe 0x4c59fa
mov eax, dword [eax]
push 0
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0x23]
mov ecx, esi
push eax
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
call fcn.0045d320
lea ecx, [ebp - 0x50]
jmp 0x4c6926
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR6]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4fb0]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4fb8]
mov word [edx + 0x18], cx
mov al, byte [0x5d4fba]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 5
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5aac
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
add eax, 0x28
push eax
mov eax, dword [ebp - 0x6c]
cwde
add eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5b09
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5aff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dc5
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR7]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4fcc]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4fd4]
mov word [edx + 0x18], cx
mov al, byte [0x5d4fd6]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5b8f
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
lea edx, [ecx + 0x143]
add eax, 0x50
mov dword [ebp - 0x68], edx
push eax
push edx
push ecx
mov ecx, esi
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5bef
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5be5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dca
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR8]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4fe8]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4ff0]
mov word [edx + 0x18], cx
mov al, byte [0x5d4ff2]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 7
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5c75
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
mov ecx, esi
add eax, 0x5f
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x58]
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5ccd
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5cc3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dcf
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR9]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d5004]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d500c]
mov word [edx + 0x18], cx
mov al, byte [0x5d500e]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 8
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5d53
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
mov ecx, esi
add eax, 0x6e
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x58]
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5dab
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5da1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dd4
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR10]
mov dword [ebp - 0x38], eax
add esp, 4
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5d5020]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5d5028]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 9
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5e25
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
mov ecx, esi
add eax, 0x7d
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x58]
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5e7d
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5e73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dd9
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR11]
mov dword [ebp - 0x38], eax
add esp, 4
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5d5040]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5d5048]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5ef7
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
mov ecx, esi
add eax, 0x8c
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x58]
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c5f51
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c5f47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6dde
push ecx
push edx
call fcn.005aa4e8
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR12]
mov dword [ebp - 0x38], eax
add esp, 4
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5d5060]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5d5068]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c5fcb
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
mov ecx, esi
add eax, 0x9b
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x58]
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c6025
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c601b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6de3
push ecx
push edx
call fcn.005aa4e8
add esp, 8
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0x14]
mov dword [ebp - 0x70], edx
cmp ecx, edx
jl 0x4c6060
add eax, 0x42
cmp ecx, eax
mov eax, dword [ebp - 0x60]
jg 0x4c6063
lea ecx, [eax + 0xdc]
mov dword [ebp - 0x54], ecx
cmp edi, ecx
jl 0x4c6063
lea edx, [eax + 0x10e]
mov dword [ebp - 0x5c], edx
cmp edi, edx
jg 0x4c6063
mov edx, 0x1b
jmp 0x4c6079
mov eax, dword [ebp - 0x60]
lea ecx, [eax + 0xdc]
mov edx, 0x21
add eax, 0x10e
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], eax
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
mov eax, esi
push edx
push ecx
push dword [ebp - 0x70]
mov ecx, dword [eax + 0x14aa2c]
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0x46]
cmp ecx, edx
jl 0x4c60c3
add eax, 0x73
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c60c6
cmp edi, eax
jl 0x4c60c6
cmp edi, dword [ebp - 0x5c]
jg 0x4c60c6
mov ecx, 0x1c
jmp 0x4c60cb
mov eax, dword [ebp - 0x54]
mov ecx, 0x22
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0x78]
cmp ecx, edx
jl 0x4c6113
add eax, 0xa5
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c6116
cmp edi, eax
jl 0x4c6116
cmp edi, dword [ebp - 0x5c]
jg 0x4c6116
mov ecx, 0x1a
jmp 0x4c611b
mov eax, dword [ebp - 0x54]
mov ecx, 0x20
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0xaa]
cmp ecx, edx
jl 0x4c6166
add eax, 0xd7
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c6169
cmp edi, eax
jl 0x4c6169
cmp edi, dword [ebp - 0x5c]
jg 0x4c6169
mov ecx, 0x19
jmp 0x4c616e
mov eax, dword [ebp - 0x54]
mov ecx, 0x1f
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0xc2]
mov dword [ebp - 0x78], edx
cmp ecx, edx
jl 0x4c61cd
add eax, 0xf0
cmp ecx, eax
mov eax, dword [ebp - 0x60]
jg 0x4c61d0
lea ecx, [eax + 0x142]
mov dword [ebp - 0x68], ecx
cmp edi, ecx
jl 0x4c61d0
lea edx, [eax + 0x176]
mov dword [ebp - 0x6c], edx
cmp edi, edx
jg 0x4c61d0
mov edx, 0x13
jmp 0x4c61e6
mov eax, dword [ebp - 0x60]
lea ecx, [eax + 0x142]
mov edx, 0x14
add eax, 0x176
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], eax
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push edx
push ecx
push dword [ebp - 0x78]
mov ecx, dword [esi + 0x14aa2c]
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0xf4]
cmp ecx, edx
jl 0x4c6233
add eax, 0x122
cmp ecx, eax
mov eax, dword [ebp - 0x68]
jg 0x4c6236
cmp edi, eax
jl 0x4c6236
cmp edi, dword [ebp - 0x6c]
jg 0x4c6236
mov ecx, 0x12
jmp 0x4c623b
mov eax, dword [ebp - 0x68]
mov ecx, 4
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x70]
jl 0x4c6323
lea eax, [edx + 0x42]
cmp ecx, eax
jg 0x4c6323
cmp edi, dword [ebp - 0x54]
jl 0x4c6323
cmp edi, dword [ebp - 0x5c]
jg 0x4c6323
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR13]
mov dword [ebp - 0x38], eax
add esp, 4
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5d5080]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5d5088]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xc
push eax
mov ecx, 0x5fd3c4
call fcn.00411e80
cmp dword [eax + 0x14], 0xf
jbe 0x4c62f7
mov eax, dword [eax]
push 0
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0x23]
mov ecx, esi
push eax
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
call fcn.0045d320
lea ecx, [ebp - 0x38]
jmp 0x4c6926
lea eax, [edx + 0x46]
cmp ecx, eax
jl 0x4c6354
lea eax, [edx + 0x73]
cmp ecx, eax
jg 0x4c6354
cmp edi, dword [ebp - 0x54]
jl 0x4c6354
cmp edi, dword [ebp - 0x5c]
jg 0x4c6354
push str.DRAW_DIALOGBOX_CONSTRUCTOR14
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0xd
jmp 0x4c68e9
lea eax, [edx + 0x78]
cmp ecx, eax
jl 0x4c6388
lea eax, [edx + 0xa5]
cmp ecx, eax
jg 0x4c6388
cmp edi, dword [ebp - 0x54]
jl 0x4c6388
cmp edi, dword [ebp - 0x5c]
jg 0x4c6388
push str.DRAW_DIALOGBOX_CONSTRUCTOR15
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0xe
jmp 0x4c68e9
lea eax, [edx + 0xaa]
cmp ecx, eax
jl 0x4c63bf
lea eax, [edx + 0xd7]
cmp ecx, eax
jg 0x4c63bf
cmp edi, dword [ebp - 0x54]
jl 0x4c63bf
cmp edi, dword [ebp - 0x5c]
jg 0x4c63bf
push str.DRAW_DIALOGBOX_CONSTRUCTOR16
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0xf
jmp 0x4c68e9
lea eax, [edx + 0xc2]
cmp ecx, eax
jl 0x4c63f6
lea eax, [edx + 0xf0]
cmp ecx, eax
jg 0x4c63f6
cmp edi, dword [ebp - 0x68]
jl 0x4c63f6
cmp edi, dword [ebp - 0x6c]
jg 0x4c63f6
push str.DRAW_DIALOGBOX_CONSTRUCTOR17
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0x10
jmp 0x4c68e9
lea eax, [edx + 0xf4]
cmp ecx, eax
jl 0x4c6932
lea eax, [edx + 0x122]
cmp ecx, eax
jg 0x4c6932
cmp edi, dword [ebp - 0x68]
jl 0x4c6932
cmp edi, dword [ebp - 0x6c]
jg 0x4c6932
push str.DRAW_DIALOGBOX_CONSTRUCTOR18
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 0x11
jmp 0x4c68e9
cmp dword [esi + 0x18c0bc], 0xffffffff
xorps xmm0, xmm0
je 0x4c654c
lea eax, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
push eax
lea eax, [esi + 0x18dae7]
mov dword [ebp - 0x14], 0
push eax
call fcn.005666c0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR1]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 0xc
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4f24]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4f2c]
mov word [edx + 0x18], cx
mov al, byte [0x5d4f2e]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c64ef
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
add esi, 0x18d57f
push dword [ecx + 0x18c0c0]
push dword [ecx + 0x18c0bc]
lea ecx, [ebp - 0x1c]
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.00411640
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
add eax, 0x23
push 0
push 0
push 0
push 0
push esi
mov esi, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x6c]
cwde
add eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.0045d060
jmp 0x4c662c
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR2]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4f40]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4f48]
mov word [edx + 0x18], cx
mov al, byte [0x5d4f4a]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c65cf
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp - 0x60]
add eax, 0x23
push eax
mov eax, dword [ebp - 0x6c]
cwde
add eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.0045d060
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c662c
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c6622
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6de8
push ecx
push edx
call fcn.005aa4e8
add esp, 8
movzx eax, byte [esi + 0x189654]
mov ecx, esi
push eax
push 0
push 0x15
push dword [ebp - 0x60]
push dword [ebp - 0x58]
push 0x48
call fcn.0043d1d0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0x14]
mov dword [ebp - 0x70], edx
cmp ecx, edx
jl 0x4c6682
add eax, 0x42
cmp ecx, eax
mov eax, dword [ebp - 0x60]
jg 0x4c6685
lea ecx, [eax + 0x154]
mov dword [ebp - 0x54], ecx
cmp edi, ecx
jl 0x4c6685
lea edx, [eax + 0x188]
mov dword [ebp - 0x5c], edx
cmp edi, edx
jg 0x4c6685
mov edx, 0x18
jmp 0x4c669b
mov eax, dword [ebp - 0x60]
lea ecx, [eax + 0x154]
mov edx, 0x1e
add eax, 0x188
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], eax
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
mov eax, esi
push edx
push ecx
push dword [ebp - 0x70]
mov ecx, dword [eax + 0x14aa2c]
call fcn.0057e2f0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + 0x46]
cmp ecx, edx
jl 0x4c66e5
add eax, 0x74
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c66e8
cmp edi, eax
jl 0x4c66e8
cmp edi, dword [ebp - 0x5c]
jg 0x4c66e8
mov ecx, 0xf
jmp 0x4c66ed
mov eax, dword [ebp - 0x54]
mov ecx, 1
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push ecx
mov ecx, dword [esi + 0x14aa2c]
push eax
push edx
call fcn.0057e2f0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp + 8]
lea edx, [ecx + 0xf4]
mov dword [ebp - 0x6c], edx
cmp eax, edx
jl 0x4c673f
lea edx, [ecx + 0x122]
cmp eax, edx
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x54]
jg 0x4c6742
cmp edi, eax
jl 0x4c6742
cmp edi, dword [ebp - 0x5c]
jg 0x4c6742
mov edx, 0x12
jmp 0x4c6750
mov eax, dword [ebp - 0x54]
add ecx, 0x122
mov edx, 4
mov dword [ebp - 0x68], ecx
push 0
mov ecx, dword [esi + 0x14aa2c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push dword [ebp - 0x74]
push edx
push eax
push dword [ebp - 0x6c]
call fcn.0057e2f0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x70]
jl 0x4c688b
lea eax, [edx + 0x42]
cmp ecx, eax
jg 0x4c688b
cmp edi, dword [ebp - 0x54]
jl 0x4c688b
cmp edi, dword [ebp - 0x5c]
jg 0x4c688b
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x20
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.005aa520
movups xmm0, xmmword [str.DRAW_DIALOGBOX_CONSTRUCTOR3]
mov edx, eax
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x38], edx
add esp, 4
mov dword [ebp - 0x24], 0x1f
movups xmmword [edx], xmm0
movq xmm0, qword [0x5d4f5c]
movq qword [edx + 0x10], xmm0
mov cx, word [0x5d4f64]
mov word [edx + 0x18], cx
mov al, byte [0x5d4f66]
mov byte [edx + 0x1a], al
mov byte [edx + 0x1b], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x7c]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x4c6823
mov eax, dword [eax]
push 0
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0x23]
mov ecx, esi
push eax
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
call fcn.0045d320
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x4c6932
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c687c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6ded
push ecx
push edx
call fcn.005aa4e8
add esp, 8
jmp 0x4c6932
lea eax, [edx + 0x46]
cmp ecx, eax
jl 0x4c68bd
lea eax, [edx + 0x74]
mov edx, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jg 0x4c68c3
cmp edi, eax
jl 0x4c68c3
cmp edi, edx
jg 0x4c68c3
push str.DRAW_DIALOGBOX_CONSTRUCTOR4
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 3
jmp 0x4c68e9
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0x6c]
jl 0x4c6932
cmp ecx, dword [ebp - 0x68]
jg 0x4c6932
cmp edi, eax
jl 0x4c6932
cmp edi, edx
jg 0x4c6932
push str.DRAW_DIALOGBOX_CONSTRUCTOR5
lea ecx, [ebp - 0x34]
call fcn.0040f9f0
mov dword [ebp - 4], 4
lea eax, [ebp - 0x34]
mov ecx, 0x5fd3c4
push eax
call fcn.00411e80
cmp dword [eax + 0x14], 0xf
jbe 0x4c68ff
mov eax, dword [eax]
push 0
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0x23]
mov ecx, esi
push eax
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
call fcn.0045d320
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.00411640
movsx eax, word [esi + 0x14352c]
sub eax, 0
je 0x4c6947
sub eax, 2
jne 0x4c6da8
mov dword [ebp - 0x5c], 0
lea ecx, [esi + 0x18dacf]
mov dword [ebp - 0x6c], 0
mov edx, str.aresden
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x61], al
lea eax, [esi + 0x18dacf]
jne 0x4c6996
cmp byte [ebp - 0x61], 0
je 0x4c6992
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x61], al
lea eax, [esi + 0x18dacf]
jne 0x4c6996
add ecx, 2
add edx, 2
cmp byte [ebp - 0x61], 0
jne 0x4c6960
xor ecx, ecx
jmp 0x4c699b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x4c69a9
mov edx, 0xfa
jmp 0x4c6a39
mov edx, str.elvine
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x61], al
lea eax, [esi + 0x18dacf]
jne 0x4c69e6
cmp byte [ebp - 0x61], 0
je 0x4c69e2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x61], al
lea eax, [esi + 0x18dacf]
jne 0x4c69e6
add ecx, 2
add edx, 2
cmp byte [ebp - 0x61], 0
jne 0x4c69b0
xor ecx, ecx
jmp 0x4c69eb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x4c69f6
mov edx, 0xfa
jmp 0x4c6a39
mov ecx, str.middleland
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c6a20
test dl, dl
je 0x4c6a1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c6a20
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c6a00
xor eax, eax
jmp 0x4c6a25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c6ada
mov edx, 0x118
mov dword [ebp - 0x6c], 0x20c
mov edi, dword [ebp - 0x58]
lea ecx, [esi + 0x147f5e]
mov eax, 0x12c
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], eax
cmp byte [ecx + 2], 0x2a
jne 0x4c6ac2
movzx eax, dx
mov edx, dword [ebp - 0x60]
push 0
push 0
movd xmm2, eax
add edx, 0x3c
mov eax, dword [ebp - 0x6c]
movzx eax, ax
cvtdq2pd xmm2, xmm2
push 0x28
movd xmm1, eax
movsx eax, word [ecx]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, edx
push eax
movsx eax, word [ecx - 2]
mov ecx, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0xf
add eax, edi
push eax
push 0x48
call fcn.0043d1d0
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x5c]
add ecx, 6
sub eax, 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], eax
jne 0x4c6a50
mov edi, dword [ebp + 0xc]
mov edx, dword [esi + 0x18c0c8]
mov eax, dword [ebp - 0x5c]
cmp edx, 0xffffffff
je 0x4c6b56
test ax, ax
je 0x4c6b56
movd xmm0, dword [esi + 0x18c0cc]
movzx eax, ax
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x60]
push 1
add ecx, 0x3c
push 0
push 0x2a
movd xmm2, eax
mov eax, dword [ebp - 0x6c]
movzx eax, ax
cvtdq2pd xmm2, xmm2
movd xmm1, eax
mulsd xmm0, xmm2
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
add eax, ecx
mov ecx, dword [ebp - 0x58]
push eax
add ecx, 0xf
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, esi
push eax
push 0x48
call fcn.0043d1d0
mov eax, dword [ebp - 0x5c]
cmp word [esi + 0x14352c], 2
je 0x4c6bd6
mov edx, dword [esi + 0x18c0bc]
cmp edx, 0xffffffff
je 0x4c6bd6
test ax, ax
je 0x4c6bd6
movd xmm0, dword [esi + 0x18c0c0]
movzx eax, ax
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x60]
push 1
add ecx, 0x3c
push 0
push 0x29
movd xmm2, eax
mov eax, dword [ebp - 0x6c]
movzx eax, ax
cvtdq2pd xmm2, xmm2
movd xmm1, eax
mulsd xmm0, xmm2
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
add eax, ecx
mov ecx, dword [ebp - 0x58]
push eax
add ecx, 0xf
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, esi
push eax
push 0x48
call fcn.0043d1d0
mov ecx, str.middleland
lea eax, [esi + 0x18d8a5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c6c01
test dl, dl
je 0x4c6bfd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c6c01
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c6be1
xor eax, eax
jmp 0x4c6c06
sbb eax, eax
or eax, 1
movsd xmm3, qword [0x5cd598]
movsd xmm2, qword [0x5cd5a0]
test eax, eax
jne 0x4c6cba
movsx eax, word [esi + 0x18c130]
mov ecx, dword [esi + 0x1842ec]
movd xmm1, eax
movsx eax, word [ecx + 0x670a3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, xmm3
movsx eax, word [ecx + 0x670a3e]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si edx, xmm1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x4c6c6a
movaps xmm1, xmm2
movsx eax, word [esi + 0x18c132]
mov ecx, dword [ebp - 0x60]
push 0
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 0x2b
mulsd xmm0, qword [0x5db4c0]
divsd xmm0, xmm1
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, dword [ebp - 0x58]
add ecx, 0x3c
add eax, 0xf
push ecx
add eax, edx
mov ecx, esi
push eax
push 0x48
call fcn.0043d1d0
movsd xmm2, qword [0x5cd5a0]
movsd xmm3, qword [0x5cd598]
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp + 8]
lea eax, [edx + 0xf]
cmp ecx, eax
jl 0x4c6da8
lea eax, [edx + 0x127]
cmp ecx, eax
jg 0x4c6da8
mov eax, dword [ebp - 0x60]
add eax, 0x3c
cmp edi, eax
jl 0x4c6da8
mov eax, dword [ebp - 0x60]
add eax, 0x154
cmp edi, eax
jg 0x4c6da8
mov eax, ecx
sub eax, edx
mov edx, 0x1e
sub eax, 0xf
movd xmm0, eax
mov eax, edi
cvtdq2pd xmm0, xmm0
sub eax, dword [ebp - 0x60]
sub eax, 0x3c
mulsd xmm0, xmm2
divsd xmm0, xmm3
cvttsd2si ecx, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cmp ecx, edx
cmovl ecx, edx
mulsd xmm0, xmm2
divsd xmm0, xmm3
cvttsd2si eax, xmm0
cmp eax, edx
cmovl eax, edx
mov edx, 0x20c
cmp ecx, edx
cmova ecx, edx
cmp eax, edx
cmova eax, edx
add esi, 0x18d57f
push eax
push ecx
push str._d__d
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x80]
add esp, 0x10
movzx eax, word [ecx + 0x18c598]
shl ax, 2
movzx eax, ax
push 2
push 0
push eax
movzx eax, word [ecx + 0x18c39a]
shl ax, 2
movzx eax, ax
push eax
movzx eax, word [ecx + 0x18c19c]
shl ax, 2
movzx eax, ax
push eax
push esi
lea eax, [edi - 0xa]
push eax
mov eax, dword [ebp + 8]
add eax, 0xa
push eax
call fcn.0045d920
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005aa550
mov esp, ebp
pop ebp
ret 8
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
call fcn.005ac169
int3