Function at 0x5bb3c0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x7cc
mov eax, dword [0xa599ec]
mov byte [esp + 1], 0
test eax, eax
mov byte [esp + 2], 0
jne 0x5bcd79
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
push esi
push edi
mov edi, 2
mov ebx, 8
call fcn.004821e0
mov ecx, 0xa285a8
push 0xa27b1e
push 0xa27b14
push 0xa27b10
push 0xa27946
call fcn.00524490
test eax, eax
je 0x5bcd59
cmp word [0xa27b1e], 0xaa03
jne 0x5bccd3
mov edx, 0xa27b14
mov ecx, 0xa27946
call fcn.005bb150
test al, al
jne 0x5bccd3
mov eax, dword [0xa27946]
cmp eax, 0x19
jne 0x5bb466
call fcn.0072a580
cmp eax, 0xbd
jne 0x5bccd3
call fcn.005c17f0
jmp 0x5bccd3
cmp eax, 0x1b
jne 0x5bb495
call fcn.0072a580
cmp eax, 0xbc
jne 0x5bccd3
call fcn.005c2ed0
mov ecx, dword [0xa5a840]
mov byte [esp + 0x11], 1
call fcn.005c1d40
jmp 0x5bccd3
cmp eax, 1
jne 0x5bb815
mov esi, eax
mov eax, dword [0xa27d80]
cmp eax, esi
jle 0x5bb4d2
mov eax, dword [0xa27d74]
push 0xa2794a
mov ecx, dword [eax + esi*4]
call fcn.006eec70
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bb4f3
mov eax, dword [0xa27d80]
inc esi
cmp esi, eax
jl 0x5bb4a9
push 0x71
call fcn.0076d5a7
mov esi, eax
add esp, 4
test esi, esi
je 0x5bb647
lea ecx, [esi + 0x28]
call fcn.00522800
jmp 0x5bb649
mov eax, dword [0x821ca0]
mov edi, dword [0x821ca8]
cmp eax, 0xffffffff
je 0x5bb515
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add edi, eax
mov ecx, dword [0xa27d74]
mov edx, dword [ecx + esi*4]
mov dword [edx + 0x33], edi
mov eax, dword [0xa27d74]
mov ecx, dword [0xa27975]
mov eax, dword [eax + esi*4]
and ecx, 1
cmp byte [eax + 0x32], cl
je 0x5bccd3
mov dl, byte [0xa27975]
mov byte [esp + 0x12], 1
and dl, 1
mov byte [eax + 0x32], dl
mov eax, dword [0xa27d74]
mov eax, dword [eax + esi*4]
mov cl, byte [eax + 0x32]
test cl, cl
je 0x5bb57a
mov ecx, dword [0xa27b14]
add eax, 0x28
mov dword [eax], ecx
mov edx, dword [0xa27b18]
mov dword [eax + 4], edx
mov cx, word [0xa27b1c]
mov word [eax + 8], cx
cmp dword [0xa599f4], 2
jge 0x5bccd3
mov edx, dword [0xa27d74]
mov eax, dword [edx + esi*4]
mov cl, byte [eax + 0x32]
test cl, cl
mov ecx, 0xa2794a
je 0x5bb5e2
call fcn.006eecd0
xor edx, edx
mov ecx, str.TXT_S_FORMED_NEW_GAME
push eax
push 0xe65
push str.C:RA2_netdlg2.cpp
call fcn.006eea10
lea ecx, [esp + 0x1e8]
push eax
push ecx
call fcn.0076ecf4
mov eax, dword [0x821b68]
add esp, 0xc
mov edx, 0x2000
mov ecx, dword [eax + 0x5d8]
push 0
push 0x3f800000
jmp 0x5bb626
call fcn.006eecd0
xor edx, edx
mov ecx, str.TXT_GAME_NOW_IN_PROGRESS
push eax
push 0xe6a
push str.C:RA2_netdlg2.cpp
call fcn.006eea10
lea ecx, [esp + 0x1e8]
push eax
push ecx
call fcn.0076ecf4
mov eax, dword [0x821b68]
add esp, 0xc
mov edx, 0x2000
mov ecx, dword [eax + 0x5c8]
push 0
push 0x3f800000
call fcn.00708810
mov edx, dword [0x792328]
lea ecx, [esp + 0x1e4]
push ecx
push edx
call fcn.005bd6c0
add esp, 8
jmp 0x5bccd3
xor esi, esi
mov ecx, 0xa2794a
call fcn.006eecd0
push eax
push esi
call fcn.0076ec19
mov ecx, dword [0xa27b14]
lea eax, [esi + 0x28]
add esp, 8
mov dword [eax], ecx
mov edx, dword [0xa27b18]
mov dword [eax + 4], edx
mov cx, word [0xa27b1c]
mov word [eax + 8], cx
mov dl, byte [0xa27975]
and dl, 1
mov byte [esi + 0x32], dl
mov eax, dword [0x821ca0]
mov edi, dword [0x821ca8]
cmp eax, 0xffffffff
je 0x5bb6aa
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add edi, eax
mov dword [esi + 0x33], edi
mov eax, dword [0xa27d78]
cmp dword [0xa27d80], eax
jl 0x5bb6e8
mov cl, byte [0xa27d7d]
test cl, cl
jne 0x5bb6c8
test eax, eax
jne 0x5bb700
mov ecx, dword [0xa27d84]
test ecx, ecx
jle 0x5bb700
add eax, ecx
push 0
push eax
mov eax, dword [0xa27d70]
mov ecx, 0xa27d70
call dword [eax + 8]
test al, al
je 0x5bb700
mov ecx, dword [0xa27d80]
mov eax, ecx
inc ecx
mov dword [0xa27d80], ecx
mov ecx, dword [0xa27d74]
mov dword [ecx + eax*4], esi
mov eax, dword [0xa27d68]
mov esi, 1
cmp eax, esi
jle 0x5bb792
mov edx, dword [0xa27d5c]
push 0xa27b14
mov ecx, dword [edx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
jne 0x5bb738
mov eax, dword [0xa27d68]
inc esi
cmp esi, eax
jl 0x5bb712
jmp 0x5bb792
mov eax, dword [0xa27d5c]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0076d2d5
mov edx, dword [0xa27d5c]
add esp, 4
mov ecx, 0xa27d58
lea eax, [edx + esi*4]
push eax
mov eax, dword [0xa27d58]
call dword [eax + 0x10]
cmp eax, 0xffffffff
je 0x5bb792
mov ecx, dword [0xa27d68]
cmp eax, ecx
jge 0x5bb792
dec ecx
cmp eax, ecx
mov dword [0xa27d68], ecx
jge 0x5bb792
mov ecx, dword [0xa27d5c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [0xa27d68]
cmp eax, ecx
jl 0x5bb77a
test byte [0xa27975], 1
je 0x5bb806
cmp dword [0xa599f4], 2
jge 0x5bb806
mov ecx, 0xa2794a
call fcn.006eecd0
xor edx, edx
mov ecx, str.TXT_S_FORMED_NEW_GAME
push eax
push 0xe93
push str.C:RA2_netdlg2.cpp
call fcn.006eea10
push eax
lea eax, [esp + 0x1ec]
push eax
call fcn.0076ecf4
mov edx, dword [0x792328]
lea ecx, [esp + 0x1f0]
push ecx
push edx
call fcn.005bd6c0
mov eax, dword [0x821b68]
add esp, 0x14
mov edx, 0x2000
mov ecx, dword [eax + 0x5d8]
push 0
push 0x3f800000
call fcn.00708810
mov byte [esp + 0x11], 1
mov byte [esp + 0x12], 1
jmp 0x5bccd3
cmp eax, 3
jne 0x5bba81
mov eax, dword [0xa27d98]
xor edi, edi
xor esi, esi
test eax, eax
jle 0x5bb856
mov ecx, dword [0xa27d8c]
push 0xa27b14
mov ecx, dword [ecx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
jne 0x5bb851
mov eax, dword [0xa27d98]
inc esi
cmp esi, eax
jl 0x5bb82b
jmp 0x5bb856
mov edi, 1
mov eax, dword [0xa27d80]
test eax, eax
je 0x5bb876
mov ecx, 0xa2791e
call fcn.005b6ae0
cmp dword [0xa2797d], eax
je 0x5bb876
mov edi, 1
push 0xa2794a
push 0xa256b0
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bccd3
test edi, edi
jne 0x5bccd3
push 0x71
call fcn.0076d5a7
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5bb8b2
lea ecx, [ebp + 0x28]
call fcn.00522800
jmp 0x5bb8b4
xor ebp, ebp
mov ecx, 0x1c
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
mov ecx, 0xa2794a
stosb byte es:[edi], al
call fcn.006eecd0
push eax
push ebp
call fcn.0076ec19
mov edi, 0xa2795e
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x32]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0xa27b14]
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x28], edx
mov eax, dword [0xa27b18]
mov dword [ecx + 4], eax
mov dx, word [0xa27b1c]
mov word [ecx + 8], dx
mov eax, dword [0xa27975]
push eax
mov ecx, ebp
call fcn.00664d70
mov ecx, dword [0xa27979]
push ecx
mov ecx, ebp
call fcn.00664da0
mov eax, dword [0xa27d90]
mov ecx, dword [0xa27d98]
cmp ecx, eax
jl 0x5bb971
mov cl, byte [0xa27d95]
test cl, cl
jne 0x5bb950
test eax, eax
jne 0x5bb989
mov ecx, dword [0xa27d9c]
test ecx, ecx
jle 0x5bb989
mov edx, dword [0xa27d88]
add eax, ecx
push 0
push eax
mov ecx, 0xa27d88
call dword [edx + 8]
test al, al
je 0x5bb989
mov ecx, dword [0xa27d98]
mov eax, ecx
inc ecx
mov dword [0xa27d98], ecx
mov ecx, dword [0xa27d8c]
mov dword [ecx + eax*4], ebp
mov ecx, dword [0xa27999]
mov edx, ebp
call fcn.005c29a0
mov eax, dword [0xa27d68]
mov esi, 1
cmp eax, esi
jle 0x5bba28
mov edx, dword [0xa27d5c]
push 0xa27b14
mov ecx, dword [edx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
jne 0x5bb9ce
mov eax, dword [0xa27d68]
inc esi
cmp esi, eax
jl 0x5bb9a8
jmp 0x5bba28
mov eax, dword [0xa27d5c]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0076d2d5
mov edx, dword [0xa27d5c]
add esp, 4
mov ecx, 0xa27d58
lea eax, [edx + esi*4]
push eax
mov eax, dword [0xa27d58]
call dword [eax + 0x10]
cmp eax, 0xffffffff
je 0x5bba28
mov ecx, dword [0xa27d68]
cmp eax, ecx
jge 0x5bba28
dec ecx
cmp eax, ecx
mov dword [0xa27d68], ecx
jge 0x5bba28
mov ecx, dword [0xa27d5c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [0xa27d68]
cmp eax, ecx
jl 0x5bba10
call fcn.005c2ed0
mov ecx, 0xbd
call fcn.0072a3a0
mov dl, 1
mov ecx, eax
call fcn.005c57e0
push str.New_Player
call fcn.004068f0
mov eax, dword [0xa599f4]
add esp, 4
cmp eax, 2
mov byte [esp + 0x11], 1
jl 0x5bccd3
mov eax, dword [0x821b68]
push 0
mov edx, 0x2000
push 0x3f800000
mov ecx, dword [eax + 0x5e0]
call fcn.00708810
jmp 0x5bccd3
cmp eax, 0x16
jne 0x5bbaa7
call fcn.005c2410
test al, al
jne 0x5bccd3
mov ecx, 0xa27975
call fcn.005c2aa0
mov byte [esp + 0x11], 1
jmp 0x5bccd3
cmp eax, 0x28
jne 0x5bbac3
call fcn.005c2410
test al, al
jne 0x5bccd3
call fcn.005be610
jmp 0x5bccd3
cmp eax, 7
jne 0x5bbc7d
cmp dword [0xa599f4], edi
je 0x5bccd3
mov ecx, 0xa2794a
call fcn.006eecd0
push eax
push 0xa2791e
call fcn.0076ec19
mov ecx, dword [0xa27975]
add esp, 8
push 0
push ecx
mov ecx, 0xa255a8
call fcn.00668b50
mov edx, dword [0xa27979]
mov ecx, 0xa255a8
push 0
push edx
call fcn.00668c00
mov ecx, dword [0xa27b18]
mov eax, dword [0xa27b14]
mov dx, word [0xa27b1c]
mov dword [0xa25e40], ecx
mov ecx, 0xa27d88
mov dword [0xa599f4], edi
mov dword [0xa25e3c], eax
mov word [0xa25e44], dx
call fcn.005a3f20
push 0x71
call fcn.0076d5a7
mov esi, eax
add esp, 4
test esi, esi
je 0x5bbb64
lea ecx, [esi + 0x28]
call fcn.00522800
jmp 0x5bbb66
xor esi, esi
mov ecx, 0x1c
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, 0xa256b0
stosb byte es:[edi], al
call fcn.006eecd0
push eax
push esi
call fcn.0076ec19
add esp, 8
mov ecx, 0xa255a8
call fcn.00668b10
mov ecx, esi
push eax
call fcn.00664d70
mov ecx, 0xa255a8
call fcn.00668b30
mov ecx, esi
push eax
call fcn.00664da0
mov eax, dword [0xa27d90]
mov ecx, dword [0xa27d98]
cmp ecx, eax
jl 0x5bbbe7
mov cl, byte [0xa27d95]
test cl, cl
jne 0x5bbbc7
test eax, eax
jne 0x5bbbff
mov ecx, dword [0xa27d9c]
test ecx, ecx
jle 0x5bbbff
add eax, ecx
push 0
push eax
mov eax, dword [0xa27d88]
mov ecx, 0xa27d88
call dword [eax + 8]
test al, al
je 0x5bbbff
mov ecx, dword [0xa27d98]
mov eax, ecx
inc ecx
mov dword [0xa27d98], ecx
mov ecx, dword [0xa27d8c]
mov dword [ecx + eax*4], esi
xor edx, edx
xor ecx, ecx
mov byte [0x7d0da4], 0
call fcn.0072a240
mov dword [0xa599ec], 0
call fcn.005c2770
call fcn.005c2790
mov ecx, dword [0xa27999]
call fcn.005c29b0
mov edx, dword [0xb0de30]
mov ecx, dword [0xb0dbd8]
push 0
push 0x5bcd80
push edx
mov edx, 0xbd
call fcn.0072a160
mov esi, eax
mov edx, 0xbd
mov ecx, esi
call fcn.005f7350
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, 1
push 0
push 1
mov ecx, edx
mov byte [esp + 0x19], 1
call fcn.005bad30
jmp 0x5bccd3
cmp eax, ebx
jne 0x5bbf57
mov eax, dword [0xa599f4]
xor esi, esi
cmp eax, edi
jne 0x5bbdd5
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x284]
lea edx, [esp + 0x288]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0xa256b0
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x284], 0xa
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0xa27d98]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
cmp eax, esi
jle 0x5bbd1e
mov ecx, dword [0xa27d8c]
lea eax, [esp + 0x284]
mov edx, dword [ecx + esi*4]
mov ecx, 0xa285a8
add edx, 0x28
push edx
push 1
push 0x1c7
push eax
call fcn.00524410
call fcn.004821e0
mov eax, dword [0xa27d98]
inc esi
cmp esi, eax
jl 0x5bbce9
xor esi, esi
lea ecx, [esp + 0x284]
push esi
push esi
push 0x1c7
push ecx
mov ecx, 0xa285a8
call fcn.00524410
cmp dword [0xa2790c], esi
je 0x5bbd5e
push 0xa27910
push esi
lea edx, [esp + 0x28c]
push 0x1c7
push edx
mov ecx, 0xa285a8
call fcn.00524410
mov ecx, 0xa285a8
call fcn.00524b90
test eax, eax
jle 0x5bbd8d
mov ecx, 0xa285a8
call fcn.00524740
test eax, eax
je 0x5bbd8d
call fcn.004821e0
mov ecx, 0xa285a8
call fcn.00524b90
test eax, eax
jg 0x5bbd6c
mov word [0xa2791e], si
call fcn.005c2770
call fcn.005c2710
mov ecx, 0xa27d88
call fcn.005a3f20
mov ecx, 0xa27d58
call fcn.005a3f20
mov dword [0xa599f0], esi
mov byte [0x7d0da4], 1
mov dword [0xa599f4], 0xffffffff
mov esi, 4
mov byte [esp + 0x11], 1
jmp 0x5bbdf5
cmp eax, 1
jne 0x5bbdec
mov esi, dword [0xa27975]
mov dword [0xa599f4], 0xffffffff
jmp 0x5bbdf5
cmp eax, 0xffffffff
jne 0x5bccd3
push 0xf7f
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_REQUEST_DENIED
call fcn.006eea10
push eax
mov eax, dword [0x792328]
push eax
call fcn.005bd6c0
mov ecx, dword [0x821b68]
add esp, 8
mov edx, 0x2000
mov ecx, dword [ecx + 0x5d0]
push 0
push 0x3f800000
call fcn.00708810
test esi, esi
jne 0x5bbe51
push 0xf85
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_NAME_MUSTBE_UNIQUE
jmp 0x5bbedf
cmp esi, 1
jne 0x5bbe69
push 0xf87
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_GAME_FULL
jmp 0x5bbedf
cmp esi, 2
jne 0x5bbe81
push 0xf89
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_YOURGAME_OUTDATED
jmp 0x5bbedf
cmp esi, 3
jne 0x5bbe99
push 0xf8b
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_DESTGAME_OUTDATED
jmp 0x5bbedf
cmp esi, 6
jne 0x5bbeb1
push 0xf8d
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_MISMATCH
jmp 0x5bbedf
cmp esi, 5
jne 0x5bbec9
push 0xf8f
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_GAME_CANCELLED
jmp 0x5bbedf
cmp esi, 7
jne 0x5bbef8
push 0xf91
push str.C:RA2_netdlg2.cpp
xor edx, edx
mov ecx, str.TXT_SERIAL_DUP
call fcn.006eea10
test eax, eax
je 0x5bbef8
push 0
push 0x5b6da0
xor edx, edx
mov ecx, eax
call fcn.005bdc20
call fcn.0072a580
cmp eax, 0xbb
jne 0x5bbf3b
call fcn.0072a570
mov esi, eax
test esi, esi
je 0x5bbf45
push 1
push esi
call ebp
push 0x541
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x5bbf45
push 1
push eax
call ebp
xor edx, edx
xor ecx, ecx
push 0
push 1
call fcn.005bad30
jmp 0x5bccd3
mov dword [0xa599ec], 2
push 0
push 1
xor edx, edx
xor ecx, ecx
call fcn.005bad30
jmp 0x5bccd3
cmp eax, 0x17
jne 0x5bbfc4
mov eax, dword [0xa27d98]
xor esi, esi
test eax, eax
jle 0x5bccd3
mov edx, dword [0xa27d8c]
push 0xa2794a
mov ecx, dword [edx + esi*4]
call fcn.006eec70
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bbf9a
mov eax, dword [0xa27d98]
inc esi
cmp esi, eax
jl 0x5bbf6b
jmp 0x5bccd3
cmp esi, 0xffffffff
je 0x5bccd3
mov al, byte [0xa599f8]
test al, al
jne 0x5bccd3
mov edx, 0xa2794a
mov ecx, 0xa27975
call fcn.005be9a0
jmp 0x5bccd3
cmp eax, 0x18
jne 0x5bc115
push 0xa27976
call fcn.00778d96
add esp, 4
mov dword [esp + 0x14], eax
xor edi, edi
mov esi, 0xa27da4
mov ecx, dword [esi]
call fcn.006eec70
push 0xa2794a
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bc01c
add esi, 4
inc edi
cmp esi, 0xa27dc4
jl 0x5bbfe5
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0076db78
add esp, 4
jmp 0x5bccd3
cmp edi, 0xffffffff
je 0x5bc103
mov al, byte [0xa599f8]
test al, al
jne 0x5bc103
mov eax, dword [esp + 0x14]
push 0x7b9950
push eax
call fcn.0076e452
add esp, 8
xor ebp, ebp
test eax, eax
je 0x5bc055
push eax
call fcn.0076e302
add esp, 4
mov ebp, eax
push 0x7b9950
push 0
call fcn.0076e452
add esp, 8
xor esi, esi
test eax, eax
je 0x5bc075
push eax
call fcn.0076e302
add esp, 4
mov esi, eax
mov ecx, 0xbc
call fcn.0072a3a0
test eax, eax
jne 0x5bc08d
mov ecx, 0xbd
call fcn.0072a3a0
mov ecx, dword [edi*4 + 0xa27da4]
call fcn.00664d30
cmp eax, ebp
setne al
test al, al
mov byte [esp + 0x13], al
je 0x5bc0b3
mov ecx, dword [edi*4 + 0xa27da4]
push ebp
call fcn.00664d70
mov ecx, dword [edi*4 + 0xa27da4]
call fcn.00664d40
cmp eax, esi
setne bl
test bl, bl
je 0x5bc0e9
push esi
mov ecx, 0xa255a8
call fcn.006689f0
test al, al
je 0x5bc0dc
mov esi, 0xfffffffe
mov ecx, dword [edi*4 + 0xa27da4]
push esi
call fcn.00664da0
mov al, byte [esp + 0x13]
test al, al
jne 0x5bc0f5
test bl, bl
je 0x5bc103
xor dl, dl
mov cl, 1
mov byte [esp + 0x11], 1
call fcn.005be200
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0076db78
add esp, 4
jmp 0x5bccd3
cmp eax, 0xa
jne 0x5bc431
mov eax, dword [0xa27d80]
mov esi, 1
cmp eax, esi
jle 0x5bc24a
or ebx, 0xffffffff
mov edx, dword [0xa27d74]
push 0xa2794a
mov ecx, dword [edx + esi*4]
call fcn.006eec70
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
jne 0x5bc23c
mov eax, dword [0xa27d74]
push 0xa27b14
mov ecx, dword [eax + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
je 0x5bc23c
cmp esi, dword [0xa599f0]
jne 0x5bc1ae
call fcn.005c2770
call fcn.005c2710
mov ecx, 0xa27d88
call fcn.005a3f20
call fcn.0072a580
cmp eax, 0xbb
je 0x5bc1ae
call fcn.0072a580
cmp eax, 0xbd
jne 0x5bc1ae
mov dword [0xa599ec], edi
mov eax, dword [0xa599f4]
test eax, eax
jle 0x5bc1c5
cmp esi, dword [0xa599f0]
jne 0x5bc1c5
mov dword [0xa599f4], ebx
mov ecx, dword [0xa27d74]
mov edx, dword [ecx + esi*4]
push edx
call fcn.0076d2d5
mov eax, dword [0xa27d74]
mov edx, dword [0xa27d70]
add esp, 4
mov ecx, 0xa27d70
lea eax, [eax + esi*4]
push eax
call dword [edx + 0x10]
cmp eax, ebx
je 0x5bc21f
mov ecx, dword [0xa27d80]
cmp eax, ecx
jge 0x5bc21f
dec ecx
cmp eax, ecx
mov dword [0xa27d80], ecx
jge 0x5bc21f
mov ecx, dword [0xa27d74]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [0xa27d80]
cmp eax, ecx
jl 0x5bc207
lea eax, [esi - 1]
push 0
push 1
mov edx, 1
xor ecx, ecx
mov dword [0xa599f0], eax
mov byte [esp + 0x1a], 1
call fcn.005bad30
mov eax, dword [0xa27d80]
inc esi
cmp esi, eax
jl 0x5bc133
mov ecx, 0xa27b14
xor bl, bl
call fcn.005c2bd0
mov eax, dword [0xa27d98]
xor esi, esi
test eax, eax
jle 0x5bc319
mov edi, 2
mov ecx, dword [0xa27d8c]
push 0xa27b14
mov ecx, dword [ecx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
je 0x5bc30b
mov edx, dword [0xa27d8c]
mov eax, dword [edx + esi*4]
push eax
call fcn.0076d2d5
mov ecx, dword [0xa27d8c]
mov edx, dword [0xa27d88]
add esp, 4
lea eax, [ecx + esi*4]
mov ecx, 0xa27d88
push eax
call dword [edx + 0x10]
cmp eax, 0xffffffff
je 0x5bc2e4
mov ecx, dword [0xa27d98]
cmp eax, ecx
jge 0x5bc2e4
dec ecx
cmp eax, ecx
mov dword [0xa27d98], ecx
jge 0x5bc2e4
mov ecx, dword [0xa27d8c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [0xa27d98]
cmp eax, ecx
jl 0x5bc2cc
mov eax, dword [0xa599f4]
mov bl, 1
cmp eax, edi
jl 0x5bc30b
mov eax, dword [0x821b68]
push 0
mov edx, 0x2000
push 0x3f800000
mov ecx, dword [eax + 0x5dc]
call fcn.00708810
mov eax, dword [0xa27d98]
inc esi
cmp esi, eax
jl 0x5bc26a
mov eax, dword [0xa27d68]
mov esi, 1
cmp eax, esi
jle 0x5bc3b2
mov ecx, dword [0xa27d5c]
push 0xa27b14
mov ecx, dword [ecx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
je 0x5bc3a3
mov edx, dword [0xa27d5c]
mov eax, dword [edx + esi*4]
push eax
call fcn.0076d2d5
mov ecx, dword [0xa27d5c]
mov edx, dword [0xa27d58]
add esp, 4
lea eax, [ecx + esi*4]
mov ecx, 0xa27d58
push eax
call dword [edx + 0x10]
cmp eax, 0xffffffff
je 0x5bc3a3
mov ecx, dword [0xa27d68]
cmp eax, ecx
jge 0x5bc3a9
dec ecx
cmp eax, ecx
mov dword [0xa27d68], ecx
jge 0x5bc3a9
mov ecx, dword [0xa27d5c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [0xa27d68]
cmp eax, ecx
jl 0x5bc389
jmp 0x5bc3a9
mov ecx, dword [0xa27d68]
inc esi
cmp esi, ecx
jl 0x5bc32b
test bl, bl
je 0x5bc427
call fcn.005c2ed0
mov ecx, 0xbd
call fcn.0072a3a0
mov dl, 1
mov ecx, eax
call fcn.005c57e0
call fcn.0072a580
cmp eax, 0x6b
jne 0x5bc41c
call fcn.0072a570
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov esi, eax
push 0
push 0
push 0x188
push 0x6eb
push esi
call edi
cmp eax, 0xffffffff
je 0x5bc427
push 0
push eax
push 0x199
push 0x6eb
push esi
call edi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
mov byte [esp + 0x11], 1
jmp 0x5bccd3
mov ecx, dword [0xa255ac]
mov eax, dword [ecx]
call dword [eax + 0x78]
mov byte [esp + 0x11], 1
jmp 0x5bccd3
cmp eax, 0xb
je 0x5bcccb
cmp eax, 0xe
je 0x5bcccb
cmp eax, 4
jne 0x5bc5fb
mov ecx, dword [0xa27975]
mov eax, dword [0xa256ac]
cmp ecx, eax
je 0x5bccd3
mov eax, dword [0xa27d68]
xor esi, esi
test eax, eax
jle 0x5bc48e
mov edx, dword [0xa27d5c]
push 0xa27b14
mov ecx, dword [edx + esi*4]
add ecx, 0x28
call fcn.00522990
test al, al
jne 0x5bc4af
mov eax, dword [0xa27d68]
inc esi
cmp esi, eax
jl 0x5bc46a
push 0x71
call fcn.0076d5a7
mov esi, eax
add esp, 4
test esi, esi
je 0x5bc530
lea ecx, [esi + 0x28]
call fcn.00522800
jmp 0x5bc532
mov eax, dword [0xa27d5c]
mov ecx, 0xa2794a
lea edi, [eax + esi*4]
call fcn.006eecd0
mov ecx, dword [edi]
push eax
push ecx
call fcn.0076ec19
mov eax, dword [0x821ca0]
mov edi, dword [0x821ca8]
add esp, 8
cmp eax, 0xffffffff
je 0x5bc4ef
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add edi, eax
mov edx, dword [0xa27d5c]
mov eax, dword [edx + esi*4]
mov dword [eax + 0x32], edi
mov ecx, dword [0xa27d5c]
mov edx, dword [ecx + esi*4]
mov byte [edx + 0x36], 0
mov eax, dword [0xa27d5c]
mov edx, dword [0xa27979]
mov ecx, dword [eax + esi*4]
mov dword [ecx + 0x37], edx
mov eax, dword [0xa599f0]
test eax, eax
jne 0x5bccd3
mov byte [esp + 0x11], 1
jmp 0x5bccd3
xor esi, esi
mov ecx, 0xa2794a
call fcn.006eecd0
push eax
push esi
call fcn.0076ec19
mov ecx, dword [0xa27b14]
lea eax, [esi + 0x28]
add esp, 8
mov dword [eax], ecx
mov edx, dword [0xa27b18]
mov dword [eax + 4], edx
mov cx, word [0xa27b1c]
mov word [eax + 8], cx
mov eax, dword [0x821ca0]
mov edi, dword [0x821ca8]
cmp eax, 0xffffffff
je 0x5bc587
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add edi, eax
mov dword [esi + 0x32], edi
mov byte [esi + 0x36], 0
mov edx, dword [0xa27979]
mov dword [esi + 0x37], edx
mov eax, dword [0xa27d60]
cmp dword [0xa27d68], eax
jl 0x5bc5de
mov cl, byte [0xa27d65]
test cl, cl
jne 0x5bc5b6
test eax, eax
jne 0x5bc519
mov ecx, dword [0xa27d6c]
test ecx, ecx
jle 0x5bc519
add eax, ecx
push 0
push eax
mov eax, dword [0xa27d58]
mov ecx, 0xa27d58
call dword [eax + 8]
test al, al
je 0x5bc519
mov ecx, dword [0xa27d68]
mov eax, ecx
inc ecx
mov dword [0xa27d68], ecx
mov ecx, dword [0xa27d5c]
mov dword [ecx + eax*4], esi
jmp 0x5bc519
cmp eax, 5
jne 0x5bc6a3
mov eax, dword [0xa599f4]
cmp eax, 1
je 0x5bccd3
cmp eax, edi
je 0x5bccd3
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x44c]
lea edx, [esp + 0x450]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0xa256b0
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x44c], 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xa27b14
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [0xa256c4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 1
and ecx, 3
lea eax, [esp + 0x454]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0xa256ac]
push 0x1c7
mov dword [esp + 0x487], ecx
push eax
mov ecx, 0xa285a8
mov dword [esp + 0x48f], edx
call fcn.00524410
call fcn.004821e0
jmp 0x5bccd3
cmp eax, 0xc
jne 0x5bc750
mov eax, dword [0xa599f4]
mov esi, dword [0xa27a56]
cmp eax, edi
jne 0x5bc711
mov ecx, 0xa2791e
call fcn.005b6ae0
cmp dword [0xa27a5a], eax
jne 0x5bccd3
push 0xa27976
mov ecx, 0xa2794a
call fcn.006eecd0
push eax
push str.__s___s
push esi
call fcn.005bd6c0
mov ecx, dword [0x821b68]
add esp, 0x10
mov edx, 0x2000
mov ecx, dword [ecx + 0x5cc]
push 0
push 0x3f800000
call fcn.00708810
jmp 0x5bccd3
push 0xa27976
mov ecx, 0xa2794a
call fcn.006eecd0
push eax
push str.__s___s
push esi
call fcn.005bd6c0
mov eax, dword [0x821b68]
add esp, 0x10
mov edx, 0x2000
mov ecx, dword [eax + 0x5cc]
push 0
push 0x3f800000
call fcn.00708810
jmp 0x5bccd3
cmp eax, 6
jne 0x5bccd3
mov eax, dword [0xa27d98]
test eax, eax
jne 0x5bc79c
mov ecx, 0x71
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xa27b14
push 1
lea ecx, [esp + 0x24]
push 0x1c7
push ecx
mov ecx, 0xa285a8
stosb byte es:[edi], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x5b], 5
call fcn.00524410
jmp 0x5bccd3
mov esi, 1
xor edi, edi
xor ebp, ebp
cmp eax, esi
mov dword [esp + 0x14], ebp
jle 0x5bc802
mov edx, dword [0xa27d8c]
push 0xa2794a
mov ecx, dword [edx + esi*4]
call fcn.006eec70
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bc7d9
mov eax, dword [0xa27d98]
inc esi
cmp esi, eax
jl 0x5bc7ad
jmp 0x5bc802
mov eax, dword [0xa27d8c]
push 0xa27b14
mov ecx, dword [eax + esi*4]
add ecx, 0x28
call fcn.00522a10
test al, al
je 0x5bc7f9
mov edi, 1
jmp 0x5bc802
mov ebp, 1
mov dword [esp + 0x14], ebp
mov ecx, dword [0xa27d8c]
push 0xa2794a
mov ecx, dword [ecx]
call fcn.006eec70
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x5bc825
test edi, edi
je 0x5bc861
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x1c]
push 0xa27b14
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
lea edx, [esp + 0x24]
push 0x1c7
push edx
stosb byte es:[edi], al
mov ecx, 0xa285a8
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x5b], 0
call fcn.00524410
jmp 0x5bccd3
test ebp, ebp
jne 0x5bc8aa
call fcn.005c2d60
test al, al
je 0x5bc8aa
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x1c]
push 0xa27b14
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 1
lea eax, [esp + 0x24]
push 0x1c7
push eax
mov ecx, 0xa285a8
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x5b], 1
call fcn.00524410
jmp 0x5bccd3
mov eax, dword [esp + 0x14]
mov bl, 1
test eax, eax
jne 0x5bc8f4
mov ecx, dword [0xa27989]
mov eax, dword [0xa599fc]
cmp ecx, eax
je 0x5bc8c5
xor bl, bl
call fcn.00649670
cmp dword [0xa2798d], eax
je 0x5bc8d4
xor bl, bl
mov edx, dword [0xa27991]
mov eax, dword [0xa59a00]
cmp edx, eax
je 0x5bc8e5
xor bl, bl
call fcn.0072c550
cmp dword [0xa27995], eax
je 0x5bc8f4
xor bl, bl
mov eax, dword [0xa27d98]
test eax, eax
jle 0x5bc942
mov edi, dword [0xa27d8c]
mov ebp, eax
mov eax, dword [edi]
mov esi, 0xa2795e
add eax, 0x32
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x5bc933
test cl, cl
je 0x5bc92f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x5bc933
add eax, 2
add esi, 2
test cl, cl
jne 0x5bc90f
xor eax, eax
jmp 0x5bc938
sbb eax, eax
sbb eax, 0xffffffff
add edi, 4
dec ebp
mov dword [esp + 0x18], eax
jne 0x5bc905
test bl, bl
jne 0x5bc986
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x1c]
push 0xa27b14
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 1
lea eax, [esp + 0x24]
push 0x1c7
push eax
mov ecx, 0xa285a8
mov dword [esp + 0x2c], 8
mov dword [esp + 0x5b], 6
call fcn.00524410
jmp 0x5bccd3
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5bccd3
mov ecx, dword [0xa27985]
mov edx, dword [0xa27981]
push ecx
push edx
mov ecx, 0xa288a8
call fcn.00707bd0
test eax, eax
mov dword [0xa25be4], eax
jne 0x5bc9f1
mov ecx, 0x71
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0xa27b14
push 1
lea eax, [esp + 0x24]
push 0x1c7
push eax
mov ecx, 0xa285a8
mov dword [esp + 0x2c], 8
mov dword [esp + 0x5b], 2
call fcn.00524410
jmp 0x5bccd3
cmp eax, 0xffffffff
jne 0x5bca36
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x1c]
push 0xa27b14
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
lea ecx, [esp + 0x24]
push 0x1c7
push ecx
stosb byte es:[edi], al
mov ecx, 0xa285a8
mov dword [esp + 0x2c], 8
mov dword [esp + 0x5b], 3
call fcn.00524410
jmp 0x5bccd3
push eax
mov ecx, 0xa288a8
call fcn.00707b90
mov dword [0xa255bc], eax
push 0x71
call fcn.0076d5a7
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5bca60
lea ecx, [ebp + 0x28]
call fcn.00522800
jmp 0x5bca62
xor ebp, ebp
mov ecx, 0x1c
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
mov ecx, 0xa2794a
stosb byte es:[edi], al
call fcn.006eecd0
push eax
push ebp
call fcn.0076ec19
mov eax, dword [0xa27b14]
lea edx, [ebp + 0x28]
add esp, 8
mov dword [edx], eax
mov ecx, dword [0xa27b18]
mov dword [edx + 4], ecx
mov ax, word [0xa27b1c]
mov word [edx + 8], ax
mov ecx, dword [0xa255ac]
test ecx, ecx
je 0x5bcad2
mov eax, dword [0xa27975]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1c]
test al, al
jne 0x5bcac5
mov ecx, dword [0xa255ac]
mov edx, dword [ecx]
call dword [edx + 0x28]
jmp 0x5bcaca
mov eax, dword [0xa27975]
push eax
mov ecx, ebp
call fcn.00664d70
mov edi, 0xa2795e
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x32]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0xa27979]
mov ecx, esi
call fcn.005c2dc0
test al, al
je 0x5bcb0d
mov esi, 0xfffffffe
push esi
mov ecx, ebp
call fcn.00664da0
mov eax, dword [0xa27d90]
mov ecx, dword [0xa27d98]
cmp ecx, eax
jl 0x5bcb53
mov cl, byte [0xa27d95]
test cl, cl
jne 0x5bcb32
test eax, eax
jne 0x5bcb6b
mov ecx, dword [0xa27d9c]
test ecx, ecx
jle 0x5bcb6b
mov edx, dword [0xa27d88]
add eax, ecx
push 0
push eax
mov ecx, 0xa27d88
call dword [edx + 8]
test al, al
je 0x5bcb6b
mov ecx, dword [0xa27d98]
mov eax, ecx
inc ecx
mov dword [0xa27d98], ecx
mov ecx, dword [0xa27d8c]
mov dword [ecx + eax*4], ebp
mov ecx, ebp
call fcn.005c2ba0
mov ebx, eax
call fcn.005c2ed0
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x1c]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0xa256b0
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x1c], 7
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x11], 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.00664d30
mov ecx, ebp
mov dword [esp + 0x4b], eax
call fcn.00664d40
lea ecx, [esp + 0x1c]
mov dword [esp + 0x4f], eax
push 0xa27b14
push 1
push 0x1c7
push ecx
mov ecx, 0xa285a8
mov dword [esp + 0x7f], ebx
call fcn.00524410
mov eax, dword [0x821b68]
mov edx, 0x2000
push 0
push 0x3f800000
mov ecx, dword [eax + 0x5e0]
call fcn.00708810
mov ecx, dword [0xa255ac]
test ecx, ecx
je 0x5bcc29
mov edx, dword [ecx]
call dword [edx + 0x80]
cmp eax, 0xffffffff
je 0x5bcc29
mov dword [0xa25e2c], eax
xor dl, dl
mov cl, 1
call fcn.005be200
mov ecx, 0x71
xor eax, eax
lea edi, [esp + 0x614]
lea edx, [esp + 0x618]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0xa256b0
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x614], 0x16
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x643]
call fcn.005c29d0
mov edi, dword [0xa27d98]
mov esi, 1
cmp edi, esi
jle 0x5bccc4
mov ecx, dword [0xa27d8c]
lea eax, [esp + 0x614]
mov edx, dword [ecx + esi*4]
mov ecx, 0xa285a8
add edx, 0x28
push edx
push 1
push 0x1c7
push eax
call fcn.00524410
call fcn.004821e0
inc esi
cmp esi, edi
jl 0x5bcc94
call fcn.005bdee0
jmp 0x5bccd3
cmp dword [0xa599f4], edi
je 0x5bccf1
mov eax, dword [0xa599ec]
test eax, eax
jne 0x5bcd59
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
mov edi, 2
mov ebx, 8
jmp 0x5bb3f1
mov ecx, dword [0xa27975]
mov edx, dword [0xa27b14]
mov dword [0xa25870], ecx
mov ecx, dword [0xa27b18]
mov dword [0xa25e3c], edx
mov dx, word [0xa27b1c]
mov dword [0xa25e40], ecx
mov ecx, dword [0xa27d98]
cmp eax, 0xb
mov word [0xa25e44], dx
mov dword [0xa2586c], ecx
mov dword [0xa599ec], 1
jne 0x5bcd4a
mov dword [0xa599f4], 3
jmp 0x5bcd59
cmp eax, 0xe
jne 0x5bcd59
mov dword [0xa599f4], 4
mov al, byte [esp + 0x11]
pop edi
pop esi
pop ebp
test al, al
pop ebx
je 0x5bcd6c
xor cl, cl
call fcn.005b6e60
mov al, byte [esp + 2]
test al, al
je 0x5bcd79
call fcn.005b7810
add esp, 0x7cc
ret