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

Disassembly:
push 0xffffffffffffffff
push 0x4a1f74
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c86e0]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [esp + 0x11c], 0
je 0x414ef0
mov ebx, dword [esp + 0x118]
lea esi, [ebx + 0x504]
lea edi, [ebx + 0x52c]
cmp edi, esi
je 0x414ee7
mov eax, dword [esi + 8]
call fcn.00415710
mov eax, dword [edi + 4]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 8]
call fcn.00415a10
mov edi, esi
call fcn.00415500
jmp 0x414f43
test ebx, ebx
mov ebp, dword [esp + 0x118]
lea esi, [ebp + 0x504]
jl 0x415230
cmp ebx, dword [esi + 8]
jge 0x415230
mov edi, ebx
imul edi, edi, 0x88
add edi, dword [esi + 4]
sub esp, 0x88
mov ecx, esp
mov dword [esp + 0xa0], esp
push ecx
call fcn.004140c0
lea ecx, [ebp + 0x540]
call fcn.00415550
push esi
mov eax, ebx
call fcn.004155d0
mov ebx, ebp
call fcn.00461729
xor ecx, ecx
xor edi, edi
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x414f5f
push 0x80004005
call fcn.00401fb0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea esi, [esp + 0x18]
mov dword [esp + 0x110], edi
call fcn.00445180
mov byte [esp + 0x110], 1
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x28]
push str._sdataHistroy.xml
push edx
call fcn.00402a20
mov byte [esp + 0x11c], 0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414fc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00406970
push edi
push str._History__
lea ecx, [esp + 0x30]
mov byte [esp + 0x118], 2
call fcn.0043e690
mov eax, dword [ebx + 0x50c]
cmp eax, edi
mov dword [esp + 0x1c], edi
jle 0x415212
xor ecx, ecx
mov dword [esp + 0x20], ecx
jmp 0x415004
mov ecx, dword [esp + 0x20]
test ecx, ecx
jl 0x415230
mov edx, dword [esp + 0x1c]
cmp edx, dword [ebx + 0x50c]
lea eax, [ebx + 0x504]
jge 0x415230
mov ebp, dword [eax + 4]
add ebp, ecx
push 0
mov ecx, str.PlayName
call fcn.0043f8f0
mov edi, eax
lea eax, [esp + 0x28]
mov dword [edi + 8], eax
mov ecx, dword [esp + 0x58]
lea ebx, [esp + 0x18]
lea esi, [esp + 0x34]
mov dword [esp + 0x18], edi
mov dword [edi + 0x30], ecx
call fcn.00440170
mov eax, dword [ebp + 0x20]
push eax
mov ecx, 0x4adbcc
call fcn.0043f9c0
lea esi, [edi + 0x1c]
mov dword [eax + 8], edi
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x415077
xor ebx, ebx
jmp 0x41507f
mov ebx, dword [esi + 8]
sub ebx, ecx
sar ebx, 2
test ecx, ecx
je 0x41509c
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 2
cmp ebx, edx
jae 0x41509c
mov ecx, dword [esi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x4150bb
mov ebx, dword [esi + 8]
cmp ecx, ebx
jbe 0x4150a8
call fcn.004806da
push ebx
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x68]
push eax
mov eax, esi
call fcn.00440ce0
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, str.name
call fcn.0043f9c0
mov dword [eax + 8], edi
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x4150db
xor ebx, ebx
jmp 0x4150e3
mov ebx, dword [esi + 8]
sub ebx, ecx
sar ebx, 2
test ecx, ecx
je 0x415100
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 2
cmp ebx, edx
jae 0x415100
mov ecx, dword [esi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x41511f
mov ebx, dword [esi + 8]
cmp ecx, ebx
jbe 0x41510c
call fcn.004806da
push ebx
push esi
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push edx
mov eax, esi
call fcn.00440ce0
mov eax, dword [ebp + 0x48]
push eax
mov ecx, str.ReplayUrl
call fcn.0043f9c0
mov dword [eax + 8], edi
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x41513f
xor ebx, ebx
jmp 0x415147
mov ebx, dword [esi + 8]
sub ebx, ecx
sar ebx, 2
test ecx, ecx
je 0x415164
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 2
cmp ebx, edx
jae 0x415164
mov ecx, dword [esi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x415186
mov ebx, dword [esi + 8]
cmp ecx, ebx
jbe 0x415170
call fcn.004806da
push ebx
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x80]
push ecx
mov eax, esi
call fcn.00440ce0
mov ebp, dword [ebp + 0x60]
push ebp
mov ecx, str.DownLoadJpgUrl
call fcn.0043f9c0
mov dword [eax + 8], edi
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x4151a6
xor edi, edi
jmp 0x4151ae
mov edi, dword [esi + 8]
sub edi, ecx
sar edi, 2
test ecx, ecx
je 0x4151cb
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 2
cmp edi, edx
jae 0x4151cb
mov ecx, dword [esi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x4151ea
mov edi, dword [esi + 8]
cmp ecx, edi
jbe 0x4151d7
call fcn.004806da
push edi
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x70]
push eax
mov eax, esi
call fcn.00440ce0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x118]
add dword [esp + 0x20], 0x88
add eax, 1
cmp eax, dword [ecx + 0x50c]
mov dword [esp + 0x1c], eax
mov ebx, ecx
jl 0x415000
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x415240
mov eax, dword [esp + 0x3c]
sub eax, ecx
sar eax, 2
cmp eax, 0xa
jle 0x415240
test eax, eax
jbe 0x415235
mov eax, dword [ecx]
jmp 0x415237
call fcn.00461650
xor eax, eax
lea ecx, [esp + 0x28]
call fcn.0043f850
mov esi, dword [esp + 0x24]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x24], esp
mov ebp, esp
mov dword [esp + 0x1c], esi
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x415276
cmp eax, dword [esi]
jne 0x415276
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4152ad
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x41528f
call fcn.00401950
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
lea ecx, [esi + 0x10]
push ecx
push eax
lea edx, [edi + 0x10]
push edx
call fcn.0047e048
add esp, 0x10
add edi, 0x10
mov dword [ebp], edi
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x120], 3
call fcn.0043ed60
mov byte [esp + 0x118], 2
call fcn.00444cf0
xor ebp, ebp
add esp, 8
cmp dword [ebx + 0x548], ebp
jle 0x415372
mov dword [esp + 0x1c], ebp
lea esi, [esp + 0x7c]
call fcn.00413600
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x110], 4
jl 0x415230
cmp ebp, dword [ebx + 0x548]
jge 0x415230
mov edi, dword [ebx + 0x544]
add edi, dword [esp + 0x1c]
call fcn.00414d80
mov ecx, dword [esp + 0x7c]
push 0
call fcn.004609ca
mov ecx, dword [esp + 0x80]
push 0
call fcn.004609ca
mov ecx, dword [esp + 0x84]
push 0
call fcn.004609ca
mov byte [esp + 0x110], 2
call fcn.00414220
add dword [esp + 0x1c], 0x88
add ebp, 1
cmp ebp, dword [ebx + 0x548]
jl 0x4152f0
mov esi, dword [esp + 0x18]
xor ebp, ebp
cmp dword [ebx + 0x534], ebp
mov dword [esp + 0x20], ebp
jle 0x41540f
lea esi, [esp + 0x7c]
call fcn.00413600
test ebp, ebp
mov byte [esp + 0x110], 5
jl 0x415230
mov ecx, dword [esp + 0x20]
cmp ecx, dword [ebx + 0x534]
jge 0x415230
mov edi, dword [ebx + 0x530]
add edi, ebp
call fcn.00414d80
mov ecx, dword [esp + 0x7c]
push 0
call fcn.004609ca
mov ecx, dword [esp + 0x80]
push 0
call fcn.004609ca
mov ecx, dword [esp + 0x84]
push 0
call fcn.004609ca
mov byte [esp + 0x110], 2
call fcn.00414220
mov eax, dword [esp + 0x20]
add eax, 1
add ebp, 0x88
cmp eax, dword [ebx + 0x534]
mov dword [esp + 0x20], eax
jl 0x415384
mov esi, dword [esp + 0x18]
call fcn.00414690
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0x114], 0
call fcn.0043d8f0
mov dword [esp + 0x110], 0xffffffff
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41544a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret 8