Function at 0x40a600
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x582e9b
mov eax, dword fs:[0]
push eax
sub esp, 0x974
mov eax, dword [0x603d70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x5a4018
push str.record_run.dat
call fcn.0055ead8
add esp, 8
mov dword [ebp - 0x92c], eax
test eax, eax
je 0x40b42d
xor edi, edi
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x948], ebx
mov dword [ebp - 0x944], esi
mov dword [ebp - 0x940], edi
push eax
push 1
lea ecx, [ebp - 0x92d]
push 1
push ecx
mov dword [ebp - 4], edi
call fcn.0056082a
add esp, 0x10
test eax, eax
je 0x40a79c
lea edx, [ebp - 0x92d]
cmp edx, esi
jae 0x40a6ff
mov eax, edx
cmp ebx, eax
ja 0x40a6ff
sub edx, ebx
mov dword [ebp - 0x928], edx
cmp esi, edi
jne 0x40a6f4
mov eax, esi
sub eax, ebx
cmp eax, 0xfffffffe
ja 0x40abe8
mov ecx, edi
inc eax
sub ecx, ebx
cmp eax, ecx
jbe 0x40a6f4
mov edx, ecx
shr edx, 1
or esi, 0xffffffff
sub esi, edx
cmp esi, ecx
jae 0x40a6c8
xor ecx, ecx
jmp 0x40a6ca
add ecx, edx
cmp ecx, eax
jae 0x40a6d0
mov ecx, eax
push ecx
lea ecx, [ebp - 0x948]
call fcn.004062d0
mov edi, dword [ebp - 0x940]
mov esi, dword [ebp - 0x944]
mov ebx, dword [ebp - 0x948]
mov edx, dword [ebp - 0x928]
test esi, esi
je 0x40a75c
mov cl, byte [ebx + edx]
mov byte [esi], cl
jmp 0x40a75c
cmp esi, edi
jne 0x40a750
mov eax, esi
sub eax, ebx
cmp eax, 0xfffffffe
ja 0x40abe8
mov ecx, edi
inc eax
sub ecx, ebx
cmp eax, ecx
jbe 0x40a750
mov edx, ecx
shr edx, 1
or esi, 0xffffffff
sub esi, edx
cmp esi, ecx
jae 0x40a72a
xor ecx, ecx
jmp 0x40a72c
add ecx, edx
cmp ecx, eax
jae 0x40a732
mov ecx, eax
push ecx
lea ecx, [ebp - 0x948]
call fcn.004062d0
mov edi, dword [ebp - 0x940]
mov esi, dword [ebp - 0x944]
mov ebx, dword [ebp - 0x948]
test esi, esi
je 0x40a75c
mov dl, byte [ebp - 0x92d]
mov byte [esi], dl
mov eax, dword [ebp - 0x92c]
push eax
push 1
lea ecx, [ebp - 0x954]
push 8
inc esi
push ecx
mov dword [ebp - 0x944], esi
call fcn.0056082a
mov edx, dword [ebp - 0x92c]
push edx
push 1
lea eax, [ebp - 0x92d]
push 1
push eax
call fcn.0056082a
add esp, 0x20
test eax, eax
jne 0x40a685
mov ecx, dword [ebp - 0x92c]
push ecx
call fcn.0055e6d1
add esp, 4
sub esi, ebx
je 0x40b420
cmp byte [ebx + esi - 1], 0x63
je 0x40b401
lea edx, [ebp - 0x97c]
push edx
call fcn.0055e3d8
push 0x7f
xor edi, edi
lea eax, [ebp - 0x2f7]
push edi
push eax
mov byte [ebp - 0x2f8], 0
call fcn.0055d200
lea ecx, [ebp - 0x97c]
push ecx
call fcn.0055e3b1
push eax
push str.record_run__Y__m__d__H__M__S.dat
lea edx, [ebp - 0x2f8]
push 0x7f
push edx
call fcn.005605c1
lea eax, [ebp - 0x2f8]
push eax
push str.record_run.dat
call fcn.0055fb55
add esp, 0x2c
mov dword [ebp - 0x910], 0xf
mov dword [ebp - 0x914], edi
mov byte [ebp - 0x924], 0
mov byte [ebp - 4], 1
test esi, esi
jle 0x40a8a1
movsx ecx, byte [ebx + edi]
push 0xa
push 0x606038
push ecx
call fcn.0055fb2b
mov eax, 0x606038
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a851
sub eax, edx
push eax
push 0x606038
lea ecx, [ebp - 0x924]
call fcn.00407250
push 1
push 0x5a48d8
lea ecx, [ebp - 0x924]
call fcn.00407250
inc edi
cmp edi, esi
jl 0x40a835
mov eax, dword [ebp - 0x914]
cmp eax, 0xff
jbe 0x40a8a1
push 0xffffffffffffffff
push 0xff
lea ecx, [ebp - 0x924]
call fcn.004047f0
mov eax, 0x2d
mov word [ebp - 0x50], ax
xor eax, eax
lea ecx, [ebp - 0x964]
push ecx
mov dword [ebp - 0x4e], eax
mov dword [ebp - 0x4a], eax
mov dword [ebp - 0x46], eax
mov dword [ebp - 0x42], eax
mov dword [ebp - 0x3e], eax
mov dword [ebp - 0x3a], eax
mov dword [ebp - 0x36], eax
mov word [ebp - 0x32], ax
call fcn.0055e3d8
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x964]
push edx
push eax
push 0x5a48d4
lea ecx, [ebp - 0x50]
push 0x20
push ecx
call fcn.0055e500
lea edx, [ebp - 0x974]
push edx
call fcn.00402e40
add esp, 0x1c
lea eax, [ebp - 0x500]
push eax
push 0x104
call dword [0x5a22c4]
push 0x5a48cc
lea ecx, [ebp - 0x500]
push ecx
push 0x5a4028
lea edx, [ebp - 0x908]
push 0x200
push edx
call fcn.0055dd6b
lea eax, [ebp - 0x908]
push eax
lea ecx, [ebp - 0x95c]
push ecx
call fcn.00402f90
mov ecx, dword [ebp - 0x954]
xor eax, eax
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
mov eax, dword [ebp - 0x950]
push eax
mov eax, dword [ebp - 0x95c]
push ecx
mov edx, 0x2d
mov word [ebp - 0x30], dx
mov edx, dword [ebp - 0x958]
push edx
push eax
push str._d._d._d._d
lea ecx, [ebp - 0x30]
push 0x20
push ecx
call fcn.0055e500
xor eax, eax
mov dword [ebp - 0x6e], eax
mov dword [ebp - 0x6a], eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
mov dword [ebp - 0x5e], eax
mov dword [ebp - 0x5a], eax
mov dword [ebp - 0x56], eax
mov word [ebp - 0x52], ax
mov eax, dword [ebp - 0x968]
mov edx, 0x2d
mov word [ebp - 0x70], dx
push eax
mov ecx, dword [ebp - 0x96c]
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp - 0x974]
push ecx
push edx
push eax
push str._d._d._d._d
lea ecx, [ebp - 0x70]
push 0x20
push ecx
call fcn.0055e500
add esp, 0x54
push 0
push 0
call fcn.00402ae0
add esp, 8
lea edx, [ebp - 0x500]
push edx
lea ecx, [ebp - 0x938]
mov edi, eax
call fcn.0040a230
push str.update.ini
lea eax, [ebp - 0x938]
push eax
lea ecx, [ebp - 0x92c]
push ecx
mov byte [ebp - 4], 2
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 3
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40aa5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x938]
push ecx
push 0x104
lea edx, [ebp - 0x708]
push edx
push 0x5a44ca
push str.Version
push str.Setting
call dword [0x5a22d4]
push 0x102
lea ecx, [ebp - 0x602]
mov eax, 0x2d
push 0
push ecx
mov word [ebp - 0x604], ax
call fcn.0055d200
push 0x102
lea eax, [ebp - 0x3fa]
mov edx, 0x2d
push 0
push eax
mov word [ebp - 0x3fc], dx
call fcn.0055d200
push 0x102
lea edx, [ebp - 0x172]
mov ecx, 0x2d
push 0
push edx
mov word [ebp - 0x174], cx
call fcn.0055d200
add esp, 0x24
cmp byte [ebp + 8], 0
je 0x40abf2
lea eax, [ebp - 0x500]
push eax
lea ecx, [ebp - 0x928]
call fcn.0040a230
mov ecx, dword [ebp - 0x928]
mov eax, dword [ecx - 0xc]
add eax, 0xfffffffc
push eax
lea edx, [ebp - 0x92c]
mov bl, 4
push edx
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], bl
call fcn.00405b60
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 5
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ab5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.config.ini
lea ecx, [ebp - 0x928]
push ecx
lea edx, [ebp - 0x92c]
push edx
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 6
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40abaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x928]
push 0x5a4350
push ecx
call fcn.0055ead8
mov ebx, eax
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
add esp, 8
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ac06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x40ac06
push str.vector_T__too_long
call fcn.0057c23e
push 0x5a4350
push str.config.ini
call fcn.0055ead8
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x40ad50
push ebx
lea ecx, [ebp - 0x278]
push 0x104
push ecx
call fcn.0055eb89
add esp, 0xc
test eax, eax
je 0x40ad47
jmp 0x40ac30
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x278]
mov edx, 0x20
push ecx
mov word [ebp - 0x934], dx
call fcn.0055fa2b
mov esi, eax
add esp, 8
test esi, esi
je 0x40ad2a
mov ecx, str.HistorySvr
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ac81
test dl, dl
je 0x40ac7d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ac81
add eax, 2
add ecx, 2
test dl, dl
jne 0x40ac61
xor eax, eax
jmp 0x40ac86
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40acc1
lea edx, [ebp - 0x934]
push edx
push eax
call fcn.0055fa2b
mov esi, eax
add esp, 8
test esi, esi
je 0x40ad2a
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40aca7
sub eax, edx
push eax
lea eax, [ebp - 0x3fc]
push esi
push eax
call fcn.0055e540
add esp, 0xc
mov ecx, str.HistoryAccount
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ace8
test dl, dl
je 0x40ace4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ace8
add eax, 2
add ecx, 2
test dl, dl
jne 0x40acc8
xor eax, eax
jmp 0x40aced
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ad2a
lea ecx, [ebp - 0x934]
push ecx
push eax
call fcn.0055fa2b
add esp, 8
test eax, eax
je 0x40ad2a
mov ecx, eax
lea esi, [ecx + 1]
lea ebx, [ebx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40ad10
sub ecx, esi
push ecx
push eax
lea edx, [ebp - 0x174]
push edx
call fcn.0055e540
add esp, 0xc
push ebx
lea eax, [ebp - 0x278]
push 0x104
push eax
call fcn.0055eb89
add esp, 0xc
test eax, eax
jne 0x40ac30
push ebx
call fcn.0055e6d1
add esp, 4
mov ecx, 0x5a4888
lea eax, [ebp - 0x174]
jmp 0x40ad60
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ad80
test dl, dl
je 0x40ad7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ad80
add eax, 2
add ecx, 2
test dl, dl
jne 0x40ad60
xor eax, eax
jmp 0x40ad85
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b094
cmp byte [ebp + 8], 0
lea ecx, [ebp - 0x500]
push ecx
je 0x40aec2
lea ecx, [ebp - 0x928]
call fcn.0040a230
mov edx, dword [ebp - 0x928]
mov eax, dword [edx - 0xc]
add eax, 0xfffffffc
push eax
lea eax, [ebp - 0x92c]
mov bl, 7
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], bl
call fcn.00405b60
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 8
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ae02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.cfg_
lea ecx, [ebp - 0x928]
push ecx
lea edx, [ebp - 0x92c]
push edx
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 9
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ae52
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x174]
push ecx
lea edx, [ebp - 0x928]
push edx
lea eax, [ebp - 0x92c]
push eax
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 0xa
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40aea4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x928]
push 0x5a4350
push ecx
call fcn.0055ead8
mov ebx, eax
mov eax, dword [ebp - 0x928]
jmp 0x40af8d
lea ecx, [ebp - 0x92c]
call fcn.0040a230
push 0x5a4878
lea edx, [ebp - 0x92c]
push edx
lea eax, [ebp - 0x928]
mov bl, 0xb
push eax
mov byte [ebp - 4], bl
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x92c]
mov byte [ebp - 4], 0xc
call fcn.00406d40
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40af22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x174]
push ecx
lea edx, [ebp - 0x92c]
push edx
lea eax, [ebp - 0x928]
push eax
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x92c]
mov byte [ebp - 4], 0xd
call fcn.00406d40
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40af74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x92c]
push 0x5a4350
push ecx
call fcn.0055ead8
mov ebx, eax
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
mov byte [ebp - 4], 2
add esp, 8
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40afb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x40b094
push ebx
lea ecx, [ebp - 0x278]
push 0x104
push ecx
call fcn.0055eb89
add esp, 0xc
test eax, eax
je 0x40b08b
jmp 0x40afe0
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x278]
mov edx, 0x20
push ecx
mov word [ebp - 0x934], dx
call fcn.0055fa2b
add esp, 8
test eax, eax
je 0x40b04d
mov ecx, str.HistoryRole
jmp 0x40b010
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b030
test dl, dl
je 0x40b02c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b030
add eax, 2
add ecx, 2
test dl, dl
jne 0x40b010
xor eax, eax
jmp 0x40b035
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b04d
lea edx, [ebp - 0x934]
push edx
push eax
call fcn.0055fa2b
add esp, 8
test eax, eax
jne 0x40b06c
push ebx
lea eax, [ebp - 0x278]
push 0x104
push eax
call fcn.0055eb89
add esp, 0xc
test eax, eax
jne 0x40afe0
jmp 0x40b08b
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40b071
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x604]
push ecx
call fcn.0055e540
add esp, 0xc
push ebx
call fcn.0055e6d1
add esp, 4
mov ecx, 0x5a4888
lea eax, [ebp - 0x3fc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b0c0
test dl, dl
je 0x40b0bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b0c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40b0a0
xor eax, eax
jmp 0x40b0c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b2d4
cmp byte [ebp + 8], 0
je 0x40b1b1
lea edx, [ebp - 0x500]
push edx
lea ecx, [ebp - 0x928]
call fcn.0040a230
mov eax, dword [ebp - 0x928]
mov eax, dword [eax - 0xc]
add eax, 0xfffffffc
push eax
lea ecx, [ebp - 0x92c]
push ecx
mov bl, 0xe
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], bl
call fcn.00405b60
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 0xf
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40b142
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.server.ini
lea ecx, [ebp - 0x928]
push ecx
lea edx, [ebp - 0x92c]
push edx
call fcn.004069d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 0x10
call fcn.00406d40
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b192
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x928]
push 0x5a4350
push ecx
call fcn.0055ead8
mov ebx, eax
mov eax, dword [ebp - 0x928]
mov byte [ebp - 4], 2
jmp 0x40b1da
push str.server.ini
lea ecx, [ebp - 0x92c]
call fcn.0040a230
mov ecx, dword [ebp - 0x92c]
push 0x5a4350
push ecx
call fcn.0055ead8
mov ebx, eax
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
add esp, 8
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40b1f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x40b2d4
push ebx
lea ecx, [ebp - 0x278]
push 0x104
push ecx
call fcn.0055eb89
add esp, 0xc
test eax, eax
je 0x40b2cb
mov edi, edi
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x278]
mov edx, 0x2c
push ecx
mov word [ebp - 0x934], dx
call fcn.0055fa2b
add esp, 8
test eax, eax
je 0x40b28d
lea ecx, [ebp - 0x3fc]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b270
test dl, dl
je 0x40b26c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b270
add eax, 2
add ecx, 2
test dl, dl
jne 0x40b250
xor eax, eax
jmp 0x40b275
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b28d
lea edx, [ebp - 0x934]
push edx
push eax
call fcn.0055fa2b
add esp, 8
test eax, eax
jne 0x40b2ac
push ebx
lea eax, [ebp - 0x278]
push 0x104
push eax
call fcn.0055eb89
add esp, 0xc
test eax, eax
jne 0x40b220
jmp 0x40b2cb
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40b2b1
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x3fc]
push ecx
call fcn.0055e540
add esp, 0xc
push ebx
call fcn.0055e6d1
add esp, 4
lea eax, [ebp - 0x174]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40b2e0
sub eax, edx
push eax
lea edx, [ebp - 0x174]
push edx
lea eax, [ebp - 0x604]
push eax
call fcn.0055e540
add esp, 0xc
lea ecx, [ebp - 0x94c]
push ecx
lea edx, [ebp - 0x174]
push edx
mov dword [ebp - 0x94c], 0x104
call dword [0x5a22e0]
mov eax, dword [ebp - 0x924]
mov esi, 0x10
cmp dword [ebp - 0x910], esi
jae 0x40b337
lea eax, [ebp - 0x924]
lea ecx, [ebp - 0x174]
push ecx
lea edx, [ebp - 0x3fc]
push edx
lea ecx, [ebp - 0x604]
push ecx
push eax
lea edx, [ebp - 0x50]
push edx
push edi
lea eax, [ebp - 0x708]
push eax
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x70]
push edx
push str.http:__www.leyoo.com_ty_index.php_Crash_client_lver__s_yver__s_pver__s_os__d_ctime__s_step__s_uid__s_server__s_uname__s
push 0x3ff
push 0x605c38
call fcn.0055e500
add esp, 0x30
lea eax, [ebp - 0x980]
push eax
push 0
push 0x605c38
push 0x4081b0
push 0
push 0
call dword [0x5a22dc]
push eax
call dword [0x5a2248]
mov eax, dword [ebp - 0x938]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b3c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x910], esi
jb 0x40b3d9
mov ecx, dword [ebp - 0x924]
push ecx
call fcn.0045e9ee
add esp, 4
mov eax, dword [ebp - 0x948]
mov dword [ebp - 0x910], 0xf
mov dword [ebp - 0x914], 0
mov byte [ebp - 0x924], 0
test eax, eax
je 0x40b42d
push eax
jmp 0x40b425
push 0x5a47e0
push str.record_run.dat
call fcn.0055ead8
add esp, 8
test eax, eax
je 0x40b420
push eax
call fcn.0055e6d1
add esp, 4
test ebx, ebx
je 0x40b42d
push ebx
call fcn.0045e9ee
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055d11a
mov esp, ebp
pop ebp
ret