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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x743fe2
push eax
mov dword fs:[0], esp
sub esp, 0x264
push ebx
push ebp
mov ebp, dword [esp + 0x280]
push esi
mov esi, ecx
mov ecx, dword [esi + 0x20320]
xor ebx, ebx
cmp ecx, ebx
push edi
mov edi, dword [esp + 0x284]
je 0x54b299
mov edx, dword [esp + 0x290]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x290]
push edx
push ebp
push edi
call dword [eax + 0x134]
test eax, eax
jne 0x54b2be
mov ecx, dword [esi + 0x2031c]
cmp ecx, ebx
je 0x54b2c6
mov edx, dword [esp + 0x290]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x290]
push edx
push ebp
push edi
call dword [eax + 0x20]
test eax, eax
jne 0x54b2c6
or eax, 0xffffffff
jmp 0x54be1b
mov eax, edi
sub eax, 0x2000001
je 0x54bb65
mov ebp, 1
sub eax, ebp
jne case.0x54bb80.19
mov ecx, dword [esp + 0x28c]
movzx eax, cx
add eax, 0xfffffff8
cmp eax, 0x73
ja case.0x54bb80.19
movzx eax, byte [eax + 0x54be84]
jmp dword [eax*4 + 0x54be38]
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x54b310
add eax, 8
jmp 0x54b312
xor eax, eax
mov edx, dword [esi]
push ebx
push ebx
push ebx
push 0x9919
push eax
mov ecx, esi
call dword [edx + 0xf0]
jmp case.0x54bb80.19
mov edx, dword [esp + 0x290]
test dl, 1
jne 0x54bb1b
mov eax, dword [0x914218]
mov eax, dword [eax + 0x254]
cmp eax, ebx
je 0x54b38c
cmp cx, 0x31
jne 0x54b36b
cmp dx, 0x11
jne 0x54b36b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x26c]
mov ecx, esi
call fcn.005489f0
jmp case.0x54bb80.19
cmp eax, ebx
je 0x54b38c
cmp word [esp + 0x28c], 0x33
jne 0x54b38c
cmp dx, 6
jne 0x54b38c
mov ecx, esi
call fcn.00544550
jmp case.0x54bb80.19
mov al, byte [esp + 0x28c]
mov ecx, dword [0x912e94]
sub al, 0x30
test dl, 2
mov byte [esp + 0x10], al
mov eax, dword [ecx]
je 0x54b3be
shr edx, 2
not edx
and edx, ebp
push edx
mov edx, dword [esp + 0x14]
push edx
call dword [eax + 0x8c]
jmp case.0x54bb80.19
shr edx, 2
not edx
and edx, ebp
push edx
mov edx, dword [esp + 0x14]
push edx
call dword [eax + 0x94]
jmp case.0x54bb80.19
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je case.0x54bb80.19
mov eax, dword [esp + 0x290]
cmp ax, bp
jne 0x54b409
xor ecx, ecx
cmp dword [0x9079f0], ebx
sete cl
mov dword [0x9079f0], ecx
jmp 0x54bde9
cmp ax, 4
jne 0x54b418
mov eax, dword [0x860af8]
sub eax, ebp
jmp 0x54b429
cmp ax, 2
je case.0x54bb80.19
mov eax, dword [0x860af8]
add eax, ebp
or edi, 0xffffffff
cmp eax, edi
jge 0x54b434
mov eax, edi
jmp 0x54b43e
cmp eax, 4
jle 0x54b43e
mov eax, 4
push eax
lea ecx, [esp + 0x14]
mov dword [0x860af8], eax
call fcn.00413ef0
cmp dword [0x860af8], edi
mov dword [esp + 0x27c], ebp
jne 0x54b46c
push str.Drawing_pass_info:_OFF
lea ecx, [esp + 0x14]
call fcn.00413310
jmp 0x54b4a6
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
push str.Drawing_pass_info:_Level
push ecx
call fcn.00413c20
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x280], 2
call fcn.004133c0
lea ecx, [esp + 0x24]
mov byte [esp + 0x27c], 1
call fcn.00412de0
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
push edi
push ebx
push edi
push eax
mov ecx, esi
call dword [edx + 0x204]
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x178]
lea ecx, [esp + 0x10]
mov dword [esp + 0x27c], edi
call fcn.00412de0
jmp case.0x54bb80.19
cmp dword [0x905af8], ebx
je case.0x54bb80.19
cmp dword [esi + 0x140], ebx
jne case.0x54bb80.19
call fcn.005726d0
jmp case.0x54bb80.19
cmp dword [esi + 0x140], ebx
je case.0x54bb80.19
mov eax, dword [0x912e94]
cmp dword [eax + 0xc], ebx
je case.0x54bb80.19
cmp dword [eax + 0x1c], ebx
je case.0x54bb80.19
mov eax, dword [esi]
push ebx
push 0x85e2f0
push 0x85b460
push ebx
mov ecx, esi
call dword [eax + 0x60]
push eax
call fcn.0071f44c
mov edx, dword [eax]
add esp, 0x14
mov ecx, eax
call dword [edx + 0x13c]
jmp case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x11
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x10
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je case.0x54bb80.19
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je case.0x54bb80.19
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x26c]
jmp case.0x54bb80.19
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je case.0x54bb80.19
mov ecx, dword [esi + 0x20304]
call fcn.006084b0
jmp case.0x54bb80.19
mov dword [esi + 0x144], ebx
jmp case.0x54bb80.19
or edi, 0xffffffff
mov dword [0x860b04], edi
mov dword [0x860b00], edi
mov dword [esi + 0x140], ebx
jmp case.0x54bb80.19
mov ecx, dword [esi + 0x20358]
cmp ecx, ebx
je 0x54b5fc
mov edx, dword [ecx]
push ebp
call dword [edx + 0x114]
mov ecx, dword [esi + 0x20340]
mov eax, dword [ecx]
push ebp
call dword [eax + 0x114]
mov dword [esi + 0x13c], ebx
jmp case.0x54bb80.19
mov ecx, dword [0x914218]
cmp dword [ecx + 0x254], ebx
je case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x10
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je case.0x54bb80.19
call fcn.0055bd50
jmp case.0x54bb80.19
mov eax, dword [0x912e94]
cmp dword [eax + 0x29c], ebx
jne 0x54bb1b
xor eax, eax
cmp dword [esi + 0x98], ebx
sete al
mov dword [esi + 0x98], eax
cmp eax, ebx
mov eax, dword [esi + 0x34]
je 0x54b685
cmp eax, ebx
je 0x54b66b
add eax, 8
jmp 0x54b66d
xor eax, eax
mov edx, dword [esi]
push ebx
push ebx
push ebx
push 0x9917
push eax
mov ecx, esi
call dword [edx + 0xf0]
jmp case.0x54bb80.19
cmp eax, ebx
je 0x54b68e
add eax, 8
jmp 0x54b690
xor eax, eax
mov edx, dword [esi]
push ebx
push ebx
push ebx
push 0x9918
push eax
mov ecx, esi
call dword [edx + 0xf0]
jmp case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x12
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je case.0x54bb80.19
mov eax, dword [esi + 0x280]
add eax, ebp
cdq
mov ecx, 3
idiv ecx
cmp edx, ebx
mov dword [esi + 0x280], edx
je 0x54b7ca
lea ecx, [esp + 0x10]
mov dword [esi + 0x27c], ebx
call fcn.00412d40
cmp dword [esi + 0x280], ebp
mov dword [esp + 0x27c], 4
jne 0x54b74e
push ebx
push str.texts_settings.ini
call fcn.00404ed0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x54b725
push str.texts
push str.versions
mov ecx, edi
call fcn.00403270
jmp 0x54b727
xor eax, eax
push eax
call fcn.00463be0
push eax
call fcn.00463bd0
push eax
lea edx, [esp + 0x1c]
push str.Build:__d__s__Texts:__s
push edx
call fcn.00413950
push edi
call fcn.00403650
add esp, 0x18
jmp 0x54b797
mov ecx, dword [0x912e94]
mov eax, dword [ecx + 0x1c]
cmp eax, ebx
jne 0x54b75e
mov eax, dword [ecx + 0xc]
add eax, 0x10
push eax
lea eax, [esp + 0x20]
push str.Current_map:
push eax
call fcn.00413c20
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x280], 5
call fcn.004133c0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x27c], 4
call fcn.00412de0
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
or edi, 0xffffffff
push edi
push eax
mov ecx, esi
call dword [edx + 0x218]
lea ecx, [esp + 0x10]
mov dword [esp + 0x27c], edi
call fcn.00412de0
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x178]
jmp case.0x54bb80.19
mov edx, dword [esi]
push 0xffffffffffffffff
push ebx
mov ecx, esi
call dword [edx + 0x218]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x178]
jmp case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x12
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je case.0x54bb80.19
cmp dword [esi + 0x27c], ebx
mov ecx, esi
je 0x54b814
mov eax, dword [esi]
push 0xffffffffffffffff
push ebx
call dword [eax + 0x218]
jmp 0x54b838
mov edx, dword [esi]
push 0x3e8
push ebx
push ebx
push 0x4517
lea eax, [esi + 8]
push eax
mov dword [esi + 0x280], ebx
mov dword [esi + 0x278], ebx
call dword [edx + 0xf0]
xor ecx, ecx
cmp dword [esi + 0x27c], ebx
sete cl
mov dword [esi + 0x27c], ecx
jmp case.0x54bb80.19
mov edx, dword [esi + 0x20304]
test byte [edx + 0x18], 1
jne case.0x54bb80.19
cmp dword [esi + 0x260], ebx
je 0x54b886
mov eax, dword [esi]
lea ecx, [esi + 0x264]
push ecx
mov ecx, esi
call dword [eax + 0x178]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x200]
jmp case.0x54bb80.19
mov ecx, dword [esi + 0x2035c]
mov edx, dword [esi + 0x20360]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x18], esp
call dword [eax + 0x1fc]
lea eax, [esi + 0x264]
push eax
jmp 0x54bdea
mov ecx, dword [0x914218]
cmp dword [ecx + 0x254], ebx
je case.0x54bb80.19
cmp dword [0x9079f4], ebx
jne 0x54b8de
mov dword [0x9079f4], ebp
mov dword [0x9079d0], ebp
jmp 0x54b8ee
mov dword [0x9079f4], ebx
mov dword [0x9079d0], 0xffffffff
lea edx, [esi + 0x24]
push edx
mov ecx, esi
call fcn.00545c20
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x178]
jmp case.0x54bb80.19
lea edi, [esi + 0x220]
mov ecx, edi
call fcn.004fb210
test al, al
jne case.0x54bb80.19
cmp dword [esi + 0x230], ebx
mov ecx, dword [0x912e94]
je 0x54b971
mov edx, dword [ecx]
call dword [edx + 0x10]
sub eax, dword [esi + 0x234]
cmp eax, 0xbb8
jae 0x54b954
mov ecx, dword [esi + 0x228]
push ebx
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esi + 0x22c]
jmp 0x54b9a4
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 0x14]
add eax, 0x14
mov dword [esi + 0x228], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x22c], edx
jmp 0x54b9b5
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [esi + 0x234], eax
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 0x14]
add eax, 0x14
mov dword [esi + 0x228], ecx
mov edx, dword [eax + 4]
push ebx
mov dword [esi + 0x22c], edx
mov ecx, dword [edi]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x1c], esp
call dword [eax + 0x13c]
xor ecx, ecx
cmp dword [esi + 0x230], ebx
sete cl
mov dword [esi + 0x230], ecx
jmp case.0x54bb80.19
call fcn.0040d640
mov edx, dword [eax]
push 0x11
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je 0x54bae4
mov ecx, dword [esi + 0x118]
lea eax, [esp + 0x10]
add ecx, 0x14
push eax
push ecx
mov ecx, dword [esi + 0x254]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
call fcn.004bed30
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x7c]
push str.__d__d
push ecx
call fcn.0071f52c
add esp, 0x10
call fcn.0040d640
mov edx, dword [eax]
push 0x10
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
jne 0x54bacc
call fcn.005f4c80
mov al, byte [eax + 0x12a]
mov byte [esp + 0x1b], al
xor ebp, ebp
call fcn.006590f0
mov edx, dword [eax + 0x1a8]
add eax, 0x1a8
mov ecx, eax
call dword [edx + 0xc]
test eax, eax
jbe 0x54bad1
xor edi, edi
call fcn.006590f0
lea ecx, [eax + 0x1a8]
mov eax, dword [ecx]
push edi
call dword [eax + 0x14]
mov edi, dword [eax]
mov ecx, edi
call fcn.005f3d90
test eax, eax
je 0x54ba9a
mov cl, byte [esp + 0x1b]
cmp byte [edi + 0x12a], cl
jne 0x54ba9a
mov ecx, dword [edi + 0x1c4]
mov edx, 1
shl edx, cl
or ebx, edx
add ebp, 1
call fcn.006590f0
mov edx, dword [eax + 0x1a8]
add eax, 0x1a8
mov ecx, eax
movzx edi, bp
call dword [edx + 0xc]
cmp edi, eax
jb 0x54ba61
lea eax, [esp + 0x74]
push ebx
push eax
call fcn.007109b0
add esp, 8
jmp case.0x54bb80.19
mov ebx, 0xffff
lea eax, [esp + 0x74]
push ebx
push eax
call fcn.007109b0
add esp, 8
jmp case.0x54bb80.19
cmp dword [esi + 0x21c], ebx
jne 0x54bb00
push esi
push str.DEFS_Screens_PlayWnd_chat.in2
call fcn.0042faf0
add esp, 8
mov dword [esi + 0x21c], eax
mov ecx, dword [esi + 0x21c]
cmp ecx, ebx
je case.0x54bb80.19
mov edx, dword [ecx]
call dword [edx + 0x10c]
cmp eax, 0xffffffff
jne 0x54bb22
xor eax, eax
jmp 0x54be1b
mov eax, dword [esi + 0x21c]
cmp eax, ebx
je 0x54bb3a
lea ecx, [eax + 8]
mov eax, dword [ecx]
push ebp
call dword [eax]
mov dword [esi + 0x21c], ebx
cmp dword [0x914138], ebx
je case.0x54bb80.19
call fcn.00710410
test eax, eax
jne case.0x54bb80.19
mov ecx, dword [0x914138]
mov edx, dword [ecx]
push ebx
push ebx
call dword [edx + 0x34]
jmp case.0x54bb80.19
movzx eax, word [esp + 0x28c]
add eax, 0xfffffff0
cmp eax, 0x3c
ja case.0x54bb80.19
movzx eax, byte [eax + 0x54bf14]
jmp dword [eax*4 + 0x54bef8]
mov dword [esi + 0x144], 1
jmp case.0x54bb80.19
or edi, 0xffffffff
cmp dword [0x860b00], edi
jne 0x54bbbc
cmp dword [0x860b04], edi
jne 0x54bbbc
mov ecx, dword [0x914218]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
push 0x860b00
call dword [edx + 0x4c]
mov dword [esi + 0x140], 1
jmp case.0x54bb80.19
mov ecx, dword [esi + 0x20358]
cmp ecx, ebx
je 0x54bbf7
cmp dword [esi + 0x13c], ebx
jne 0x54bbf7
mov eax, dword [ecx]
push 1
call dword [eax + 0x114]
mov ecx, dword [esi + 0x20340]
mov edx, dword [ecx]
push 1
call dword [edx + 0x114]
mov dword [esi + 0x13c], 1
jmp case.0x54bb80.19
lea eax, [esi + 0x24]
push eax
jmp 0x54bde2
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je 0x54bd95
call fcn.0040d640
mov edx, dword [eax]
push 0x11
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je 0x54bd95
mov eax, dword [esi + 0x20304]
cmp dword [eax + 0xc0], ebx
je case.0x54bb80.19
lea ecx, [esp + 0x2c]
call fcn.0043bca0
mov ecx, dword [esi + 0x20304]
mov eax, dword [ecx + 0x80]
push 0
add eax, 1
push 4
push eax
mov ebx, 6
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x28c], ebx
call fcn.00439ba0
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x58]
call fcn.0043bdf0
mov eax, dword [esi + 0x20304]
mov ecx, dword [eax + 0x80]
mov edx, dword [esp + 0x34]
add ecx, 1
imul ecx, dword [esp + 0x40]
push ecx
push 0
push edx
mov byte [esp + 0x288], 7
call fcn.00402d90
mov eax, dword [esi + 0x20304]
mov ecx, dword [eax + 0x80]
add ecx, 1
add esp, 0xc
xor ebp, ebp
test ecx, ecx
jle 0x54bd5b
mov edi, edi
mov edx, dword [esi + 0x20304]
mov eax, dword [edx + 0x80]
add eax, 1
xor edi, edi
test eax, eax
jle 0x54bd41
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebp
mov ecx, dword [esi + 0x20304]
mov edx, dword [ecx]
mov dword [esp + 0x18], esp
call dword [edx + 0xe0]
mov ecx, dword [esi + 0x20304]
mov ecx, dword [ecx + 0x28]
mov edx, dword [ecx]
movzx eax, al
push eax
call dword [edx + 0x20]
test eax, eax
lea ecx, [esp + 0x54]
je 0x54bd1f
push 0
jmp 0x54bd24
push 0xffffff
push ebp
push edi
call fcn.0043b570
mov ecx, dword [esi + 0x20304]
mov edx, dword [ecx + 0x80]
add edi, 1
add edx, 1
cmp edi, edx
jl 0x54bce5
mov eax, dword [esi + 0x20304]
mov ecx, dword [eax + 0x80]
add ebp, 1
add ecx, 1
cmp ebp, ecx
jl 0x54bcd0
push 0
lea edx, [esp + 0x30]
push str.c:_temp_land_water.bmp
push edx
call fcn.0043bb70
add esp, 0xc
lea ecx, [esp + 0x54]
mov byte [esp + 0x27c], bl
call fcn.00437a90
lea ecx, [esp + 0x2c]
mov dword [esp + 0x27c], 0xffffffff
call fcn.0043b050
jmp case.0x54bb80.19
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je 0x54bde9
mov dword [esi + 0x238], 1
jmp 0x54bde9
mov eax, dword [0x914218]
cmp dword [eax + 0x254], ebx
je case.0x54bb80.19
mov eax, dword [esi + 0x20304]
mov edi, dword [eax]
sub esp, 0x10
add eax, 0x78
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.004036b0
mov ecx, dword [esi + 0x20304]
call dword [edi + 0x54]
lea ecx, [esi + 0x24]
push ecx
mov ecx, esi
call fcn.00545c20
push ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x178]
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
push eax
mov eax, dword [esp + 0x288]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0042ad90
mov ecx, dword [esp + 0x274]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x270
ret 0x10