Function at 0x40ca90
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45322d
mov eax, dword fs:[0]
push eax
sub esp, 0x888
mov eax, dword [0x46f7c0]
xor eax, esp
mov dword [esp + 0x884], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46f7c0]
xor eax, esp
push eax
lea eax, [esp + 0x89c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8b0]
mov ecx, dword [esp + 0x8b4]
mov esi, dword [esp + 0x8bc]
xor ebx, ebx
push 0xff
mov dword [esp + 0x40], eax
xor eax, eax
lea edx, [esp + 0x19d]
push ebx
push edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], esi
mov byte [esp + 0x12c], bl
mov dword [esp + 0x12d], eax
mov dword [esp + 0x131], eax
mov dword [esp + 0x135], eax
mov dword [esp + 0x139], eax
mov word [esp + 0x13d], ax
mov byte [esp + 0x13f], al
mov byte [esp + 0xc8], bl
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov dword [esp + 0xd1], eax
mov dword [esp + 0xd5], eax
mov word [esp + 0xd9], ax
mov byte [esp + 0xdb], al
mov byte [esp + 0x1a4], bl
call fcn.0043b8e0
push 0xff
lea eax, [esp + 0x3a9]
push ebx
push eax
mov byte [esp + 0x3b0], bl
call fcn.0043b8e0
push 0xff
lea ecx, [esp + 0x2b5]
push ebx
push ecx
mov byte [esp + 0x2bc], bl
call fcn.0043b8e0
xor eax, eax
mov byte [esp + 0x158], bl
mov dword [esp + 0x159], eax
mov dword [esp + 0x15d], eax
mov dword [esp + 0x161], eax
mov dword [esp + 0x165], eax
mov word [esp + 0x169], ax
mov byte [esp + 0x16b], al
mov byte [esp + 0x180], bl
mov dword [esp + 0x181], eax
mov dword [esp + 0x185], eax
mov dword [esp + 0x189], eax
mov dword [esp + 0x18d], eax
mov word [esp + 0x191], ax
mov byte [esp + 0x193], al
mov byte [esp + 0x16c], bl
mov dword [esp + 0x16d], eax
mov dword [esp + 0x171], eax
mov dword [esp + 0x175], eax
mov dword [esp + 0x179], eax
mov word [esp + 0x17d], ax
mov byte [esp + 0x17f], al
mov byte [esp + 0x194], bl
mov dword [esp + 0x195], eax
mov dword [esp + 0x199], eax
mov dword [esp + 0x19d], eax
mov dword [esp + 0x1a1], eax
mov word [esp + 0x1a5], ax
mov byte [esp + 0x1a7], al
mov byte [esp + 0x130], bl
mov dword [esp + 0x131], eax
mov dword [esp + 0x135], eax
mov dword [esp + 0x139], eax
mov dword [esp + 0x13d], eax
mov word [esp + 0x141], ax
mov byte [esp + 0x143], al
mov byte [esp + 0x11c], bl
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
push 0xff
lea edx, [esp + 0x5c1]
push ebx
push edx
mov word [esp + 0x139], ax
mov byte [esp + 0x13b], al
mov byte [esp + 0x114], bl
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov word [esp + 0x125], ax
mov byte [esp + 0x127], al
mov byte [esp + 0x100], bl
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov dword [esp + 0x70], ebx
mov byte [esp + 0x5c8], bl
call fcn.0043b8e0
xor eax, eax
add esp, 0x30
lea edx, [esp + 0x68]
mov word [esp + 0x19], ax
push edx
lea eax, [esp + 0x3c]
xor ecx, ecx
push eax
mov byte [esp + 0x20], bl
mov byte [esp + 0x2c], bl
mov word [esp + 0x2d], cx
mov dword [esp + 0x24], ebx
mov byte [esi], bl
call fcn.00427240
add esp, 4
mov ecx, eax
call fcn.00426a30
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x8a8], ebx
call fcn.004226c0
mov ebp, 0x10
add esp, 4
cmp dword [eax + 0x14], ebp
jb 0x40cdaa
mov eax, dword [eax]
push eax
lea edx, [esp + 0x124]
push 0x14
push edx
call fcn.0043bd3e
add esp, 0xc
cmp dword [esp + 0x60], ebp
jb 0x40cdd0
mov eax, dword [esp + 0x4c]
push eax
call fcn.0043a71e
add esp, 4
lea ecx, [esp + 0x4c]
push ecx
call fcn.00422350
add esp, 4
cmp dword [eax + 0x14], ebp
jb 0x40cde4
mov eax, dword [eax]
push eax
lea edx, [esp + 0xc0]
push 0x14
push edx
call fcn.0043bd3e
add esp, 0xc
cmp dword [esp + 0x60], ebp
jb 0x40ce0a
mov eax, dword [esp + 0x4c]
push eax
call fcn.0043a71e
add esp, 4
mov ecx, dword [esp + 0x8ac]
mov esi, dword [ecx + 0x14]
cmp esi, ebp
jb 0x40ce1c
mov edx, dword [ecx]
jmp 0x40ce1e
mov edx, ecx
mov eax, dword [ecx + 0x10]
add eax, edx
cmp esi, ebp
jb 0x40ce29
mov ecx, dword [ecx]
mov edx, dword [esp + 0x44]
push edx
push eax
push ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.004102d0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x17]
mov byte [esp + 0x8a4], 1
mov byte [esp + 0x17], bl
cmp ecx, eax
jae 0x40ce8f
mov edx, ecx
cmp edi, edx
ja 0x40ce8f
mov esi, ecx
sub esi, edi
cmp eax, dword [esp + 0x30]
jne 0x40ce84
push 1
lea ecx, [esp + 0x2c]
call fcn.0040ad70
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
cmp eax, ebx
je 0x40ceae
mov cl, byte [edi + esi]
mov byte [eax], cl
jmp 0x40ceae
cmp eax, dword [esp + 0x30]
jne 0x40cea8
push 1
lea ecx, [esp + 0x2c]
call fcn.0040ad70
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
cmp eax, ebx
je 0x40ceae
mov byte [eax], bl
inc eax
mov dword [esp + 0x2c], eax
cmp dword [0x470e28], ebx
je 0x40d239
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push 0x470d28
mov dword [esp + 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40cf18
push ebx
push str.TestMode
push str.Failed_to_Open_Test_ConfigFile
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp edi, ebx
je 0x40cf04
push edi
call fcn.0043a71e
add esp, 4
cmp dword [esp + 0x7c], ebp
jb 0x40d881
mov edx, dword [esp + 0x68]
push edx
jmp 0x40d879
push 0x200
lea eax, [esp + 0x69c]
push ebx
push eax
call fcn.0043b8e0
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 0x200
lea edx, [esp + 0x6a4]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x20], ebx
jbe 0x40d239
lea edi, [esp + 0x698]
push 0x459f8c
push edi
call fcn.00408e60
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40d17e
push 0x459f90
push esi
call fcn.00408e60
add esp, 8
mov dword [esp + 0x38], eax
cmp eax, ebx
jne 0x40cf9b
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, esi
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0x38]
sub ebp, esi
dec ebp
cmp ebp, ebx
jle 0x40d170
push 0x459f94
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x459fa8
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40cfe6
push ebp
push esi
lea eax, [esp + 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
push 0x459fbc
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x459fc0
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40d022
push ebp
push esi
lea ecx, [esp + 0x128]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
push 0x459fc4
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.Arch
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40d05e
push ebp
push esi
lea edx, [esp + 0xc4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
push 0x459fd4
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.Version
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40d097
mov eax, dword [esp + 0x3c]
push ebp
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x459fec
call ebp
push eax
push str.Locale
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40d140
push 0x14
push esi
lea ecx, [esp + 0x18c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea edx, [esp + 0x184]
push edx
lea ecx, [esp + 0x88]
call fcn.00406ab0
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x8ac], 2
call fcn.0041b6e0
add esp, 8
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x8a8], 3
call fcn.00406af0
lea ecx, [esp + 0xa0]
call fcn.00404480
lea ecx, [esp + 0x84]
mov byte [esp + 0x8a4], 1
call fcn.00404480
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
push 0x459ffc
call ebp
push eax
push str.Cntry
push edi
call fcn.0043ca7d
add esp, 0xc
test eax, eax
jne 0x40d170
push 3
push esi
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov dword [esp + 0x1c], 1
mov edi, dword [esp + 0x38]
mov ebp, 0x10
jmp 0x40cf60
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
push ebx
push ebx
push 1
push ebx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x1ac]
push ecx
mov byte [esp + 0x8bc], 4
call fcn.0040c1b0
add esp, 0x18
test eax, eax
jns 0x40d1e9
push ebx
lea edx, [esp + 0x19c]
push edx
push str.FAILED_to_read_map.xml_File
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x4c]
call fcn.00404480
lea ecx, [esp + 0x28]
call fcn.00416510
lea ecx, [esp + 0x68]
call fcn.00404480
jmp 0x40d881
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov eax, ecx
cmp edx, ebp
jae 0x40d1fb
lea eax, [esp + 0x4c]
add eax, dword [esp + 0x5c]
cmp edx, ebp
jae 0x40d207
lea ecx, [esp + 0x4c]
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.0040c9c0
lea eax, [esp + 0x17]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b], bl
call fcn.0040b210
lea ecx, [esp + 0x4c]
mov byte [esp + 0x8a4], 1
call fcn.00404480
mov edi, dword [esp + 0x28]
push edi
call fcn.00411c60
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x40d861
mov ecx, dword [esi + 4]
push str.java_update_map
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x40d861
mov edx, dword [esi + 0xc]
push 0x45a038
push edx
call fcn.00411ab0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 8
cmp eax, ebx
je 0x40d2c6
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d2c6
mov eax, dword [eax + 4]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x5a0]
push 0x100
push ecx
call fcn.0043b812
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x5ac]
push eax
call fcn.00412860
add esp, 0x18
cmp dword [esp + 0x1c], ebx
jne 0x40d2df
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
call edi
jmp 0x40d2df
push 0x45a048
lea eax, [esp + 0x1c]
push eax
call edi
push str.No_cntry_lookup_tag_in_map.xml
call fcn.004160d0
add esp, 4
mov ecx, dword [esi + 0xc]
push str.DEBUG
push ecx
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d307
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d307
mov edx, dword [eax + 4]
push edx
call fcn.0040bb40
add esp, 4
mov eax, dword [esi + 0xc]
push 0x45a074
push eax
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d394
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.0040de90
add esp, 8
test eax, eax
je 0x40d394
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x50]
call fcn.004172e0
push 1
lea ecx, [esp + 0x188]
call fcn.0040ca10
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 5
call fcn.00417380
lea ecx, [esp + 0x184]
push ecx
push 0x45a080
lea ecx, [esp + 0x54]
call fcn.004173e0
lea ecx, [esp + 0x4c]
call fcn.00417300
lea ecx, [esp + 0x184]
mov byte [esp + 0x8a4], 1
call fcn.0040b1e0
mov edx, dword [esi + 0xc]
push 0x45a08c
push edx
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d421
lea eax, [esp + 0x20]
push 1
push eax
call fcn.0040de90
add esp, 8
test eax, eax
je 0x40d421
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x50]
call fcn.004172e0
push 1
lea ecx, [esp + 0x188]
call fcn.0040ca10
mov edx, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 6
call fcn.00417380
lea eax, [esp + 0x184]
push eax
push 0x45a098
lea ecx, [esp + 0x54]
call fcn.004173e0
lea ecx, [esp + 0x4c]
call fcn.00417300
lea ecx, [esp + 0x184]
mov byte [esp + 0x8a4], 1
call fcn.0040b1e0
mov ecx, dword [esi + 0xc]
push 0x45a0a4
push ecx
call fcn.00411ab0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x40d799
lea esp, [esp]
mov edx, dword [edi + 4]
push str.mapping
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x40d78e
mov eax, dword [edi + 0xc]
push 0x45a0b4
push eax
call fcn.00411ab0
mov ecx, dword [edi + 0xc]
push 0x45a0bc
push ecx
mov esi, eax
call fcn.00411ab0
add esp, 0x10
cmp esi, ebx
je 0x40d78e
mov esi, dword [esi + 0xc]
cmp esi, ebx
je 0x40d78e
cmp eax, ebx
je 0x40d78e
mov ebp, dword [eax + 0xc]
cmp ebp, ebx
je 0x40d78e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 4]
push ebx
lea edx, [esp + 0x29c]
push edx
push eax
push ecx
call fcn.00408ee0
add esp, 0x10
test eax, eax
jne 0x40d4de
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + 4]
push ebx
lea edx, [esp + 0x29c]
push edx
push eax
push ecx
call fcn.00408ee0
add esp, 0x10
test eax, eax
je 0x40d78e
cmp dword [esp + 0x8b8], ebx
je 0x40d500
mov edx, dword [edi + 0xc]
push str.critical
push edx
call fcn.00411ab0
add esp, 8
test eax, eax
je 0x40d78e
mov eax, dword [edi + 0xc]
push 0x45a0cc
push eax
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d58a
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d58a
mov eax, dword [eax + 4]
push 1
lea ecx, [esp + 0x110]
push ecx
lea edx, [esp + 0x128]
push edx
push eax
call fcn.00408ee0
add esp, 0x10
test eax, eax
je 0x40d78e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [edi + 0xc]
push str.arch
push edx
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d5a1
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d5a1
mov eax, dword [eax + 4]
push ebx
lea ecx, [esp + 0xfc]
push ecx
lea edx, [esp + 0xc4]
push edx
push eax
call fcn.00408ee0
add esp, 0x10
test eax, eax
jne 0x40d5b0
jmp 0x40d78e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x459ae2
lea ecx, [esp + 0x110]
push ecx
call esi
jmp 0x40d548
push 0x459ae3
lea ecx, [esp + 0xfc]
push ecx
call esi
mov edx, dword [edi + 0xc]
push str.cntry
push edx
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d5ef
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d5ef
mov eax, dword [eax + 4]
push ebx
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
call fcn.00408ee0
add esp, 0x10
test eax, eax
jne 0x40d5fe
jmp 0x40d78e
push 0x459aea
lea ecx, [esp + 0xd4]
push ecx
call esi
mov edx, dword [edi + 0xc]
push str.locale
push edx
call fcn.00411ab0
add esp, 8
cmp eax, ebx
je 0x40d648
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x40d648
cmp dword [esp + 0x7c], 0x10
mov ecx, dword [esp + 0x68]
jae 0x40d629
lea ecx, [esp + 0x68]
mov eax, dword [eax + 4]
push ebx
lea edx, [esp + 0xe8]
push edx
push ecx
push eax
call fcn.00408ee0
add esp, 0x10
test eax, eax
jne 0x40d657
jmp 0x40d78e
push 0x459aeb
lea ecx, [esp + 0xe8]
push ecx
call esi
lea edx, [esp + 0x298]
push edx
lea eax, [esp + 0x39c]
push eax
call fcn.00408eb0
add esp, 8
cmp eax, ebx
jne 0x40d6df
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 0x138]
push edx
call fcn.00408eb0
add esp, 8
cmp eax, ebx
jne 0x40d6df
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x160]
push ecx
call fcn.00408eb0
add esp, 8
cmp eax, ebx
jne 0x40d6df
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x174]
push eax
call fcn.00408eb0
add esp, 8
cmp eax, ebx
jne 0x40d6df
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0x14c]
push edx
call fcn.00408eb0
add esp, 8
cmp eax, 2
jne 0x40d78e
push 0xffffffffffffffff
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x3a0]
push 0x100
push ecx
call fcn.0043b812
mov edx, dword [ebp + 4]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x1b0]
push 0x100
push eax
call fcn.0043b812
push 0xffffffffffffffff
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x15c]
push 0x14
push edx
call fcn.0043b812
push 0xffffffffffffffff
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x194]
push 0x14
push ecx
call fcn.0043b812
add esp, 0x40
push 0xffffffffffffffff
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0x178]
push 0x14
push eax
call fcn.0043b812
push 0xffffffffffffffff
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + 0x160]
push 0x14
push edx
call fcn.0043b812
add esp, 0x20
mov dword [esp + 0x40], 1
mov edi, dword [edi + 8]
cmp edi, ebx
jne 0x40d440
push 0xff
lea eax, [esp + 0x49d]
push ebx
push eax
mov byte [esp + 0x4a4], bl
call fcn.0043b8e0
mov eax, dword [esp + 0x74]
mov edi, 0x10
add esp, 0xc
cmp dword [esp + 0x7c], edi
jae 0x40d7c9
lea eax, [esp + 0x68]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push eax
push edx
mov edx, dword [0x470e28]
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x130]
push ecx
push edx
push str.OVERRIDE_SYSTEM_VALUE_d:OS:_s_Arch:_s_Version:_s_Locale:_s_Cntry:_s_n
push 0xffffffffffffffff
lea eax, [esp + 0x4b8]
push 0x100
push eax
call fcn.0043c5b4
lea ecx, [esp + 0x4c0]
push ecx
call fcn.004160d0
mov esi, dword [esp + 0x6c]
add esp, 0x2c
cmp esi, ebx
je 0x40d839
mov eax, dword [esp + 0x8c0]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x198]
push edx
push eax
push ecx
call fcn.0043bd3e
add esp, 0xc
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x40d84a
push eax
call fcn.0043a71e
add esp, 4
cmp dword [esp + 0x7c], edi
jb 0x40d85d
mov edx, dword [esp + 0x68]
push edx
call fcn.0043a71e
add esp, 4
mov eax, esi
jmp 0x40d883
cmp edi, ebx
je 0x40d86e
push edi
call fcn.0043a71e
add esp, 4
cmp dword [esp + 0x7c], ebp
jb 0x40d881
mov eax, dword [esp + 0x68]
push eax
call fcn.0043a71e
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x89c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x884]
xor ecx, esp
call fcn.0043b8c7
add esp, 0x894
ret