Function at 0x545080
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x59152f
mov eax, dword fs:[0]
push eax
sub esp, 0x200
mov eax, dword [0x5cca0c]
xor eax, esp
mov dword [esp + 0x1fc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5cca0c]
xor eax, esp
push eax
lea eax, [esp + 0x214]
mov dword fs:[0], eax
xor ebx, ebx
push ebx
mov ebp, ecx
call fcn.005352b0
mov esi, dword [ebp + 4]
call fcn.004a1350
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x5450ec
push str.uiview_show_window
push eax
call edi
cmp eax, ebx
je 0x5450ec
push ebx
push 0x4b6
push esi
call eax
mov eax, dword [0x5ce6d8]
mov esi, dword [ebp + 0x34]
push str.xunyou_get_game_area_count
push eax
call edi
cmp eax, ebx
je 0x545107
push esi
call eax
mov edi, eax
jmp 0x545109
xor edi, edi
cmp edi, ebx
mov dword [esp + 0x28], edi
jne 0x54512d
push 1
mov ecx, ebp
call fcn.005352b0
mov ecx, dword [ebp + 0x248]
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x5461aa
xor ecx, ecx
mov eax, edi
mov edx, 0x88
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00551843
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebx
mov dword [esp + 0x21c], ebx
je 0x54516c
push 0x50cba0
push edi
push 0x88
push esi
call fcn.00402420
jmp 0x54516e
xor esi, esi
cmp esi, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x21c], 0xffffffff
jne 0x54519d
push 1
mov ecx, ebp
call fcn.005352b0
mov eax, dword [ebp + 0x248]
push ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x5461aa
mov ecx, dword [esp + 0x28]
imul ecx, ecx, 0x88
push ecx
push ebx
push esi
call fcn.00552500
mov edx, dword [0x5ce6d8]
mov edi, dword [ebp + 0x34]
add esp, 0xc
push str.xunyou_get_game_areas
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x54618a
push edi
lea ecx, [esp + 0x2c]
push ecx
push esi
call eax
cmp eax, ebx
jne 0x54618a
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
jbe 0x54618a
xor eax, eax
cmp ecx, ebx
jbe 0x54520f
add esi, 4
cmp dword [esi], ebx
jne 0x545208
add eax, 1
add esi, 0x88
cmp eax, ecx
jb 0x5451f5
jmp 0x54520f
mov byte [ebp + 0x474], 1
mov edx, dword [ebp + 0x34]
lea eax, [ebp + 0x144]
push edx
push eax
call fcn.00550010
mov ecx, eax
call fcn.0054eba0
mov esi, dword [ebp + 4]
call fcn.004a1350
cmp eax, ebx
je 0x54524b
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x54524b
push ebx
push 0x4b6
push esi
call eax
cmp byte [ebp + 0x474], 0
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x44], 0xffffff9c
je 0x545cb4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x28]
cmp eax, ebx
mov dword [esp + 0x21c], 1
mov dword [esp + 0x1c], ebx
jbe 0x5452d9
mov edi, dword [esp + 0x24]
nop
mov eax, dword [0x5ce6d8]
mov ebx, dword [edi]
mov esi, dword [ebp + 0x34]
push str.xunyou_get_game_server_count
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5452b2
push ebx
push esi
call eax
test eax, eax
ja 0x5452bc
push edi
lea ecx, [esp + 0x38]
call fcn.0053d100
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add ecx, 1
add edi, 0x88
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jb 0x545290
mov ebx, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x14], 0
jbe 0x5458d0
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov ecx, dword [0x5ce6d8]
mov ebx, dword [esi]
mov edi, dword [ebp + 0x34]
push str.xunyou_get_game_server_count
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5458a5
push ebx
push edi
call eax
test eax, eax
jbe 0x5458a5
sub esp, 0x88
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x88
push esi
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544510
lea edx, [esp + 0x5c]
lea ebx, [esi + 8]
push edx
mov dword [esp + 0x24], ebx
call fcn.00538f40
add esp, 4
cmp dword [esp + 0x74], 8
mov eax, dword [esp + 0x60]
mov byte [esp + 0x21c], 2
jae 0x545371
lea eax, [esp + 0x60]
push eax
mov eax, dword [esi]
push eax
mov ecx, ebp
call fcn.0053d690
cmp dword [ebx - 4], 0
je 0x5453ac
sub esp, 0x88
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x88
push esi
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.0053ff70
mov esi, dword [esp + 0x20]
mov edi, 0x59cc24
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x545549
cmp dword [esp + 0x48], 0xffffffff
jne 0x545549
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
test ebx, ebx
mov esi, dword [eax]
mov dword [esp + 0x48], esi
je 0x54554d
mov ecx, dword [esp + 0x3c]
sub ecx, ebx
mov eax, 0x78787879
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x54554d
push 0x59cc24
lea edx, [ebp + 0x74]
push 0x80
push edx
mov dword [ebp + 0x6c], esi
call fcn.00552d72
mov ebx, dword [esp + 0x44]
add esp, 0xc
test ebx, ebx
jne 0x545427
xor eax, eax
jmp 0x54543e
mov ecx, dword [esp + 0x3c]
sub ecx, ebx
mov eax, 0x78787879
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp + 0x70], eax
xor edi, edi
test ebx, ebx
je 0x54554d
mov ecx, dword [esp + 0x3c]
sub ecx, ebx
mov eax, 0x78787879
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x54554d
push edi
lea ecx, [esp + 0x38]
call fcn.00539920
mov esi, eax
push edi
lea ecx, [esp + 0x38]
add esi, 8
call fcn.00539920
mov eax, dword [eax]
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x110]
push 0x80
push ecx
mov dword [esp + 0x114], eax
call fcn.0055501f
mov edx, dword [ebp + 0x6c]
add esp, 0x10
push edx
sub esp, 0x84
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x84
lea ecx, [esp + 0x190]
push ecx
push 0x84
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.0053d960
push 0x84
lea edx, [esp + 0x108]
push edx
lea eax, [esp + 0x190]
push 0x84
push eax
call fcn.00552323
push 0x84
lea ecx, [esp + 0x19c]
push ecx
lea edx, [esp + 0x98]
push 0x84
push edx
mov dword [esp + 0x98], 0xffffffff
mov byte [esp + 0x9c], 1
call fcn.00552323
add esp, 0x20
lea eax, [esp + 0x78]
push eax
lea ecx, [ebp + 0xf4]
call fcn.0053d050
mov ebx, dword [esp + 0x38]
add edi, 1
jmp 0x545443
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
mov edi, 0x59cc1c
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x545889
cmp dword [esp + 0x44], 0xffffff9c
jne 0x545889
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
push 0x59cc1c
lea ecx, [ebp + 0x164]
push 0x80
push ecx
mov dword [esp + 0x50], eax
mov dword [ebp + 0x15c], eax
call fcn.00552d72
mov ecx, dword [ebp + 0x148]
lea esi, [ebp + 0x144]
xor ebx, ebx
add esp, 0xc
cmp ecx, ebx
jne 0x5455af
xor eax, eax
jmp 0x5455b7
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 7
mov dword [ebp + 0x160], eax
mov dword [esp + 0x2c], ebx
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x20], ebx
je 0x545885
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 7
cmp ebx, eax
jae 0x545885
cmp byte [ebp + 0x474], 0
mov edi, ecx
je 0x54576c
test edi, edi
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, edi
sar eax, 7
cmp eax, ebx
jbe 0x5458cb
cmp edi, ecx
jbe 0x545612
call fcn.005532de
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], edi
add edi, edx
cmp edi, dword [esi + 8]
ja 0x545626
cmp edi, dword [esi + 4]
jae 0x54562f
call fcn.005532de
mov ebx, dword [esp + 0x20]
cmp edi, dword [esi + 8]
jb 0x545639
call fcn.005532de
cmp dword [edi + 0x20], 0x10
jb 0x545648
mov eax, dword [edi + 0xc]
mov dword [esp + 0x18], eax
jmp 0x54564f
add edi, 0xc
mov dword [esp + 0x18], edi
mov edi, dword [esi + 4]
test edi, edi
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, edi
sar eax, 7
cmp eax, ebx
jbe 0x5458cb
cmp edi, ecx
jbe 0x545675
call fcn.005532de
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], edi
add edi, ecx
cmp edi, dword [esi + 8]
ja 0x545689
cmp edi, dword [esi + 4]
jae 0x545692
call fcn.005532de
mov ebx, dword [esp + 0x20]
cmp edi, dword [esi + 8]
jb 0x54569c
call fcn.005532de
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 4]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x110]
push 0x80
push ecx
mov dword [esp + 0x114], edx
call fcn.0055501f
mov edx, dword [esp + 0x54]
add esp, 0x10
push edx
sub esp, 0x84
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x84
lea ecx, [esp + 0x190]
push ecx
push 0x84
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.0053d960
push 0x84
lea edx, [esp + 0x108]
push edx
lea eax, [esp + 0x190]
push 0x84
push eax
call fcn.00552323
push 0x84
lea ecx, [esp + 0x19c]
push ecx
lea edx, [esp + 0x98]
push 0x84
push edx
mov dword [esp + 0x98], 0xffffffff
mov byte [esp + 0x9c], 1
call fcn.00552323
add esp, 0x20
lea eax, [esp + 0x78]
push eax
lea ecx, [ebp + 0x1e4]
call fcn.0053d050
add ebx, 1
add dword [esp + 0x2c], 0x80
jmp 0x5455c1
test edi, edi
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, edi
sar eax, 7
cmp eax, ebx
jbe 0x5458cb
cmp edi, ecx
jbe 0x54578f
call fcn.005532de
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], edi
add edi, ecx
cmp edi, dword [esi + 8]
ja 0x5457a3
cmp edi, dword [esi + 4]
jae 0x5457ac
call fcn.005532de
mov ebx, dword [esp + 0x20]
cmp edi, dword [esi + 8]
jb 0x5457b6
call fcn.005532de
cmp dword [edi + 0x20], 0x10
jb 0x5457c5
mov edx, dword [edi + 0xc]
mov dword [esp + 0x18], edx
jmp 0x5457cc
add edi, 0xc
mov dword [esp + 0x18], edi
mov edi, dword [esi + 4]
test edi, edi
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, edi
sar eax, 7
cmp eax, ebx
jbe 0x5458cb
cmp edi, ecx
jbe 0x5457f2
call fcn.005532de
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x50], edi
add edi, eax
cmp edi, dword [esi + 8]
ja 0x545806
cmp edi, dword [esi + 4]
jae 0x54580f
call fcn.005532de
mov ebx, dword [esp + 0x20]
cmp edi, dword [esi + 8]
jb 0x545819
call fcn.005532de
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x198]
push 0x80
push eax
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], 0
call fcn.0055501f
sub esp, 0x78
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x88
lea ecx, [esp + 0x214]
push ecx
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544160
add ebx, 1
add dword [esp + 0x2c], 0x80
jmp 0x5455c1
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x74], 8
mov byte [esp + 0x21c], 1
jb 0x5458a9
mov edx, dword [esp + 0x60]
push edx
call fcn.0055215c
add esp, 4
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 0x88
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
jae 0x5458d0
mov esi, dword [esp + 0x1c]
jmp 0x5452f1
jmp fcn.00511960
test ebx, ebx
je 0x545c93
mov eax, dword [esp + 0x3c]
sub eax, ebx
mov ecx, eax
mov eax, 0x78787879
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x545c93
cmp dword [esp + 0x48], 0xffffffff
jne 0x545c93
push 0x59cc24
lea eax, [ebp + 0x74]
push 0x80
lea esi, [ebp + 0x6c]
push eax
mov dword [esi], 0xffffffff
call fcn.00552d72
mov eax, dword [esp + 0x44]
add esp, 0xc
test eax, eax
je 0x545940
mov ecx, dword [esp + 0x3c]
sub ecx, eax
mov eax, 0x78787879
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esp, 0x88
mov dword [esp + 0xa0], esp
mov dword [ebp + 0x70], eax
mov eax, esp
push 0x88
push esi
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544510
mov esi, dword [ebp + 4]
mov dword [esp + 0x14], 0
call fcn.004a1350
test eax, eax
je 0x545a69
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.uiview_is_control_visible
push eax
call ebx
test eax, eax
je 0x545a69
lea ecx, [esp + 0x14]
push ecx
push 0x4b6
push esi
call eax
test eax, eax
jne 0x545a69
cmp dword [esp + 0x14], 1
jne 0x545a69
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x5459d8
mov ecx, dword [ebp + 0x5c]
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [ebp + 4]
lea esi, [eax + 0x9c3]
call fcn.004a1350
test eax, eax
je 0x5459ff
push str.uiview_get_window_rect
push eax
call ebx
test eax, eax
je 0x5459ff
push esi
push edi
lea edx, [esp + 0x54]
push edx
call eax
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov edi, dword [ebp + 4]
add eax, 5
lea ecx, [eax + 0x2f]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ecx
mov ebx, eax
call fcn.004a1350
test eax, eax
je 0x545a43
push str.uiview_move_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x545a43
push 1
push 0x14
push 0x2f
push esi
push ebx
push 0x4b6
push edi
call eax
mov esi, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x545a69
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x545a69
push 1
push 0x4b6
push esi
call eax
lea edx, [esp + 0x5c]
push edx
lea ebx, [ebp + 0x74]
call fcn.00538f40
add esp, 4
cmp dword [esp + 0x74], 8
mov eax, dword [esp + 0x60]
mov byte [esp + 0x21c], 3
jae 0x545a90
lea eax, [esp + 0x60]
push eax
mov eax, dword [ebp + 0x6c]
push eax
mov ecx, ebp
call fcn.0053d690
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
jmp 0x545ab0
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x545c6d
mov ecx, dword [esp + 0x3c]
mov edx, ecx
sub edx, ebx
mov eax, 0x78787879
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x545c6d
cmp ebx, ecx
mov edi, ebx
jbe 0x545af0
call fcn.005532de
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], edi
add edi, edx
cmp edi, ecx
lea eax, [esp + 0x34]
mov dword [esp + 0x2c], eax
ja 0x545b0a
cmp edi, ebx
jae 0x545b17
call fcn.005532de
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
cmp edi, dword [eax + 8]
jb 0x545b2d
call fcn.005532de
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x545c68
mov edx, ecx
sub edx, ebx
mov eax, 0x78787879
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x545c68
cmp ebx, ecx
mov esi, ebx
jbe 0x545b65
call fcn.005532de
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], esi
add esi, edx
cmp esi, ecx
lea eax, [esp + 0x34]
mov dword [esp + 0x4c], eax
ja 0x545b7f
cmp esi, ebx
jae 0x545b84
call fcn.005532de
mov eax, dword [esp + 0x4c]
cmp esi, dword [eax + 8]
jb 0x545b92
call fcn.005532de
mov ecx, dword [esi]
push 0xffffffffffffffff
add edi, 8
push edi
lea edx, [esp + 0x110]
push 0x80
push edx
mov dword [esp + 0x114], ecx
call fcn.0055501f
mov eax, dword [ebp + 0x6c]
add esp, 0x10
push eax
sub esp, 0x84
mov eax, esp
mov dword [esp + 0xa0], esp
push 0x84
lea ecx, [esp + 0x190]
push ecx
push 0x84
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.0053d960
push 0x84
lea edx, [esp + 0x108]
push edx
lea eax, [esp + 0x190]
push 0x84
push eax
call fcn.00552323
push 0x84
lea ecx, [esp + 0x19c]
push ecx
lea edx, [esp + 0x98]
push 0x84
mov ebx, 1
push edx
mov dword [esp + 0x98], 0xffffffff
mov byte [esp + 0x9c], bl
call fcn.00552323
add esp, 0x20
lea eax, [esp + 0x78]
push eax
lea ecx, [ebp + 0xf4]
call fcn.0053d050
add dword [esp + 0x20], ebx
add dword [esp + 0x1c], 0x88
mov esi, dword [esp + 0x20]
jmp 0x545ab0
jmp fcn.00539340
add dword [ebp + 0x234], 0x29
add dword [ebp + 0x238], 1
cmp dword [esp + 0x74], 8
jb 0x545c93
mov ecx, dword [esp + 0x60]
push ecx
call fcn.0055215c
mov ebx, dword [esp + 0x3c]
add esp, 4
test ebx, ebx
mov dword [esp + 0x21c], 0xffffffff
je 0x545d1f
push ebx
call fcn.0055215c
add esp, 4
jmp 0x545d1f
xor esi, esi
cmp dword [esp + 0x28], esi
jbe 0x545cf9
mov ebx, dword [esp + 0x24]
sub esp, 0x88
mov eax, esp
mov dword [esp + 0x9c], esp
push 0x88
push ebx
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544160
add esi, 1
add ebx, 0x88
cmp esi, dword [esp + 0x28]
jb 0x545cc0
mov esi, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x545d1f
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x545d1f
push 0
push 0x4c3
push esi
call eax
mov edx, dword [esp + 0x24]
push edx
call fcn.0055221b
mov edi, dword [esp + 0x48]
push 0x59cc1c
lea eax, [ebp + 0x164]
push 0x80
push eax
mov dword [ebp + 0x15c], edi
call fcn.00552d72
mov eax, dword [ebp + 0x148]
lea esi, [ebp + 0x144]
add esp, 0x10
test eax, eax
je 0x545dec
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 7
je 0x545dec
cmp edi, 0xffffff9c
jne 0x545dec
push 0xffffffffffffffff
push 0x59cc1c
lea edx, [esp + 0x198]
push 0x80
push edx
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], 1
call fcn.0055501f
add esp, 0x10
cmp byte [ebp + 0x474], 0
je 0x545dec
sub esp, 0x88
mov eax, esp
mov dword [esp + 0x9c], esp
push 0x88
lea ecx, [esp + 0x214]
push ecx
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544510
push str._IN
push edi
mov ecx, ebp
call fcn.0053d690
xor edi, edi
cmp dword [esp + 0x44], 0xffffff9c
mov dword [esp + 0x24], edi
jne 0x546062
mov dword [esp + 0x2c], edi
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x546062
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 7
cmp edi, eax
jae 0x546062
cmp byte [ebp + 0x474], 0
mov ebx, ecx
je 0x545f45
test ebx, ebx
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, ebx
sar eax, 7
cmp eax, edi
jbe 0x5458cb
cmp ebx, ecx
jbe 0x545e4e
call fcn.005532de
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
add ebx, edx
cmp ebx, dword [esi + 8]
ja 0x545e62
cmp ebx, dword [esi + 4]
jae 0x545e6b
call fcn.005532de
mov edi, dword [esp + 0x24]
cmp ebx, dword [esi + 8]
jb 0x545e75
call fcn.005532de
cmp dword [ebx + 0x20], 0x10
jb 0x545e84
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
jmp 0x545e8b
add ebx, 0xc
mov dword [esp + 0x14], ebx
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, ebx
sar eax, 7
cmp eax, edi
jbe 0x5458cb
cmp ebx, ecx
jbe 0x545eb1
call fcn.005532de
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
add ebx, ecx
cmp ebx, dword [esi + 8]
ja 0x545ec5
cmp ebx, dword [esi + 4]
jae 0x545ece
call fcn.005532de
mov edi, dword [esp + 0x24]
cmp ebx, dword [esi + 8]
jb 0x545ed8
call fcn.005532de
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 4]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x110]
push 0x80
push ecx
mov dword [esp + 0x114], edx
call fcn.0055501f
add esp, 0x10
push 0xffffffffffffff9c
sub esp, 0x84
mov eax, esp
mov dword [esp + 0x9c], esp
push 0x84
lea edx, [esp + 0x190]
push edx
push 0x84
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.0053d960
add edi, 1
add dword [esp + 0x2c], 0x80
mov dword [esp + 0x24], edi
jmp 0x545e01
test ebx, ebx
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, ebx
sar eax, 7
cmp eax, edi
jbe 0x5458cb
cmp ebx, ecx
jbe 0x545f68
call fcn.005532de
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
add ebx, eax
cmp ebx, dword [esi + 8]
ja 0x545f7c
cmp ebx, dword [esi + 4]
jae 0x545f85
call fcn.005532de
mov edi, dword [esp + 0x24]
cmp ebx, dword [esi + 8]
jb 0x545f8f
call fcn.005532de
cmp dword [ebx + 0x20], 0x10
jb 0x545f9e
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x14], ecx
jmp 0x545fa5
add ebx, 0xc
mov dword [esp + 0x14], ebx
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x5458cb
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, ebx
sar eax, 7
cmp eax, edi
jbe 0x5458cb
cmp ebx, ecx
jbe 0x545fcb
call fcn.005532de
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
add ebx, edx
cmp ebx, dword [esi + 8]
ja 0x545fdf
cmp ebx, dword [esi + 4]
jae 0x545fe8
call fcn.005532de
mov edi, dword [esp + 0x24]
cmp ebx, dword [esi + 8]
jb 0x545ff2
call fcn.005532de
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 4]
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x88]
push 0x80
push edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
call fcn.0055501f
sub esp, 0x78
mov eax, esp
mov dword [esp + 0x9c], esp
push 0x88
lea ecx, [esp + 0x104]
push ecx
push 0x88
push eax
call fcn.00552323
add esp, 0x10
mov ecx, ebp
call fcn.00544160
add edi, 1
add dword [esp + 0x2c], 0x80
mov dword [esp + 0x24], edi
jmp 0x545e01
cmp byte [ebp + 0x474], 0
je 0x546098
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x546098
mov ecx, dword [ebp + 0x5c]
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x546098
add dword [ebp + 0x234], 0x29
add dword [ebp + 0x238], 1
cmp dword [esp + 0x48], 0xffffffff
jne 0x5460a6
cmp dword [esp + 0x44], 0xffffff9c
je 0x5460af
push 0
mov ecx, ebp
call fcn.0053a5d0
mov ecx, ebp
call fcn.00536d80
cmp byte [ebp + 0x474], 0
je 0x5461aa
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x5461aa
mov ecx, dword [ebp + 0x5c]
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x5461aa
mov esi, dword [ebp + 0x58]
test esi, esi
je 0x54610b
mov edi, dword [ebp + 0x5c]
mov ecx, edi
sub ecx, esi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x546110
jmp fcn.005392c0
cmp esi, edi
jbe 0x546119
call fcn.005532de
cmp esi, dword [ebp + 0x5c]
ja 0x546123
cmp esi, dword [ebp + 0x58]
jae 0x546128
call fcn.005532de
cmp esi, dword [ebp + 0x5c]
jb 0x546132
call fcn.005532de
mov esi, dword [esi]
mov edi, dword [ebp + 0x244]
cmp edi, esi
je 0x5461aa
mov ebx, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x546160
push str.uiview_set_selected
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x546160
push 0
push edi
push ebx
call eax
mov edi, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x546182
push str.uiview_set_selected
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x546182
push 1
push esi
push edi
call eax
mov dword [ebp + 0x244], esi
jmp 0x5461aa
push 1
mov ecx, ebp
call fcn.005352b0
mov ecx, dword [ebp + 0x248]
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call fcn.0055221b
add esp, 4
mov ecx, dword [esp + 0x214]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fc]
xor ecx, esp
call fcn.00552d63
add esp, 0x20c
ret