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

Disassembly:
push 0xffffffffffffffff
push 0x450a99
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x4612b0]
xor eax, esp
mov dword [esp + 0x290], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x2ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2bc]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x24], eax
call fcn.0042b5e0
lea edx, [esp + 0x108]
push edx
sub esp, 0x1c
xor ebx, ebx
mov esi, esp
mov dword [esp + 0x2d4], ebx
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov ebp, 0x10
mov dword [esp + 0x3c], esp
cmp eax, ebp
jb 0x41dfd9
mov ecx, dword [edi]
jmp 0x41dfdb
mov ecx, edi
cmp ecx, str.Lo_
ja 0x41e014
cmp eax, ebp
jb 0x41dfeb
mov ecx, dword [edi]
jmp 0x41dfed
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str.Lo_
jbe 0x41e014
cmp eax, ebp
jb 0x41e000
mov edi, dword [edi]
push 0x24
mov eax, str.Lo_
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e055
cmp eax, 0x24
jae 0x41e026
mov ecx, dword [esi + 0x14]
push ecx
push 0x24
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e031
mov eax, dword [edi]
jmp 0x41e033
mov eax, edi
push 0x24
push str.Lo_
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 0x24
cmp dword [esi + 0x18], ebp
jb 0x41e052
mov edi, dword [edi]
mov byte [edi + 0x24], bl
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 1
call fcn.00401900
mov byte [esp + 0x2b4], 2
cmp dword [eax + 0x18], ebp
jb 0x41e07d
mov ecx, dword [eax + 4]
jmp 0x41e080
lea ecx, [eax + 4]
mov eax, ecx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41e0a0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x148]
call fcn.00402f50
sub esp, 0x18
mov byte [esp + 0x2cc], 3
mov edx, esp
mov dword [esp + 0x34], esp
lea eax, [esp + 0x158]
push eax
push edx
call fcn.0042b360
lea ecx, [esp + 0x54]
push ecx
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x2ec], 4
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], esp
cmp eax, ebp
jb 0x41e106
mov ecx, dword [edi]
jmp 0x41e108
mov ecx, edi
cmp ecx, str._j_7b
ja 0x41e141
cmp eax, ebp
jb 0x41e118
mov ecx, dword [edi]
jmp 0x41e11a
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str._j_7b
jbe 0x41e141
cmp eax, ebp
jb 0x41e12d
mov edi, dword [edi]
push 0xb
mov eax, str._j_7b
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e182
cmp eax, 0xb
jae 0x41e153
mov ecx, dword [esi + 0x14]
push ecx
push 0xb
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e15e
mov eax, dword [edi]
jmp 0x41e160
mov eax, edi
push 0xb
push str._j_7b
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 0xb
cmp dword [esi + 0x18], ebp
jb 0x41e17f
mov edi, dword [edi]
mov byte [edi + 0xb], bl
lea esi, [esp + 0xe8]
call fcn.004014e0
mov byte [esp + 0x2d0], 5
call fcn.004016a0
mov byte [esp + 0x2cc], 6
cmp dword [eax + 0x18], ebp
jb 0x41e1ad
mov eax, dword [eax + 4]
jmp 0x41e1b0
add eax, 4
push eax
lea esi, [esp + 0x140]
mov byte [esp + 0x2d0], 8
call fcn.0042e5f0
add esp, 0x1c
lea edx, [esp + 0x15c]
push edx
mov edi, eax
mov byte [esp + 0x2b8], 9
call fcn.0042e690
lea eax, [esp + 0x15c]
push eax
lea edi, [esp + 0x28]
mov byte [esp + 0x2b8], 0xa
call fcn.0042bbf0
lea esi, [esp + 0x15c]
call fcn.0041f6d0
mov eax, dword [esp + 0x134]
cmp eax, ebx
je 0x41e233
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x138]
push ecx
call fcn.00405a50
mov edx, dword [esp + 0x138]
add esp, 4
push edx
call fcn.00439c49
add esp, 4
mov eax, dword [esp + 0x128]
push eax
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
call fcn.00439c49
add esp, 4
cmp dword [esp + 0x54], ebp
jb 0x41e26b
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00439c49
add esp, 4
mov edi, 0xf
lea esi, [esp + 0xb0]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.004037a0
cmp dword [esp + 0x158], ebp
jb 0x41e2a1
mov edx, dword [esp + 0x144]
push edx
call fcn.00439c49
add esp, 4
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x120], ebp
jb 0x41e2cf
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
call esi
lea ecx, [esp + 0x1c]
cmp eax, ecx
jle 0x41e314
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, 1
jmp 0x41e325
push 0xe
call esi
xor ecx, ecx
lea edx, [esp + 0x1c]
cmp eax, edx
setg cl
mov eax, ecx
sub eax, 1
jne 0x41e334
call fcn.00431240
call fcn.004188b0
lea edx, [esp + 0x108]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], esp
cmp eax, ebp
jb 0x41e35b
mov ecx, dword [edi]
jmp 0x41e35d
mov ecx, edi
cmp ecx, 0x456de0
ja 0x41e396
cmp eax, ebp
jb 0x41e36d
mov ecx, dword [edi]
jmp 0x41e36f
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456de0
jbe 0x41e396
cmp eax, ebp
jb 0x41e382
mov edi, dword [edi]
push 0x2f
mov eax, 0x456de0
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e3d7
cmp eax, 0x2f
jae 0x41e3a8
mov ecx, dword [esi + 0x14]
push ecx
push 0x2f
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e3b3
mov eax, dword [edi]
jmp 0x41e3b5
mov eax, edi
push 0x2f
push 0x456de0
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 0x2f
cmp dword [esi + 0x18], ebp
jb 0x41e3d4
mov edi, dword [edi]
mov byte [edi + 0x2f], bl
lea esi, [esp + 0x78]
call fcn.004014e0
mov ecx, eax
mov byte [esp + 0x2b8], 0xb
call fcn.00401760
mov byte [esp + 0x2b4], 0xc
cmp dword [eax + 0x18], ebp
jb 0x41e401
mov ecx, dword [eax + 4]
jmp 0x41e404
lea ecx, [eax + 4]
mov eax, ecx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41e422
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x148]
call fcn.00402f50
lea edx, [esp + 0x140]
push edx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0xd
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
mov ebp, 0x10
cmp dword [esp + 0x158], ebp
jb 0x41e47e
mov eax, dword [esp + 0x144]
push eax
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x120], ebp
jb 0x41e4b2
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
mov edi, 0xf
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea edx, [esp + 0x108]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], esp
cmp eax, ebp
jb 0x41e503
mov ecx, dword [edi]
jmp 0x41e505
mov ecx, edi
cmp ecx, 0x456e10
ja 0x41e53e
cmp eax, ebp
jb 0x41e515
mov ecx, dword [edi]
jmp 0x41e517
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456e10
jbe 0x41e53e
cmp eax, ebp
jb 0x41e52a
mov edi, dword [edi]
push 0x38
mov eax, 0x456e10
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e57f
cmp eax, 0x38
jae 0x41e550
mov ecx, dword [esi + 0x14]
push ecx
push 0x38
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e55b
mov eax, dword [edi]
jmp 0x41e55d
mov eax, edi
push 0x38
push 0x456e10
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 0x38
cmp dword [esi + 0x18], ebp
jb 0x41e57c
mov edi, dword [edi]
mov byte [edi + 0x38], bl
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 0xe
call fcn.004016a0
mov byte [esp + 0x2b4], 0xf
cmp dword [eax + 0x18], ebp
jb 0x41e5a7
mov edx, dword [eax + 4]
jmp 0x41e5aa
lea edx, [eax + 4]
mov eax, edx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e5c8
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x148]
call fcn.00402f50
lea edx, [esp + 0x140]
push edx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0x10
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
mov ebp, 0x10
cmp dword [esp + 0x158], ebp
jb 0x41e624
mov eax, dword [esp + 0x144]
push eax
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x120], ebp
jb 0x41e658
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
mov edi, 0xf
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea edx, [esp + 0x3c]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], esp
cmp eax, ebp
jb 0x41e6a6
mov ecx, dword [edi]
jmp 0x41e6a8
mov ecx, edi
cmp ecx, 0x456e4c
ja 0x41e6e1
cmp eax, ebp
jb 0x41e6b8
mov ecx, dword [edi]
jmp 0x41e6ba
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456e4c
jbe 0x41e6e1
cmp eax, ebp
jb 0x41e6cd
mov edi, dword [edi]
push 2
mov eax, 0x456e4c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e722
cmp eax, 2
jae 0x41e6f3
mov ecx, dword [esi + 0x14]
push ecx
push 2
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e6fe
mov eax, dword [edi]
jmp 0x41e700
mov eax, edi
push 2
push 0x456e4c
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 2
cmp dword [esi + 0x18], ebp
jb 0x41e71f
mov edi, dword [edi]
mov byte [edi + 2], bl
lea esi, [esp + 0xd0]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x11
call fcn.004015b0
mov byte [esp + 0x2b4], 0x12
cmp dword [eax + 0x18], ebp
jb 0x41e74d
mov ecx, dword [eax + 4]
jmp 0x41e750
lea ecx, [eax + 4]
mov eax, ecx
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41e770
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x148]
call fcn.00402f50
sub esp, 0x18
mov byte [esp + 0x2cc], 0x13
mov edx, esp
mov dword [esp + 0x30], esp
lea eax, [esp + 0x158]
push eax
push edx
call fcn.0042b360
lea ecx, [esp + 0x120]
push ecx
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x2ec], 0x14
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x54], esp
cmp eax, ebp
jb 0x41e7d9
mov ecx, dword [edi]
jmp 0x41e7db
mov ecx, edi
cmp ecx, 0x456e50
ja 0x41e814
cmp eax, ebp
jb 0x41e7eb
mov ecx, dword [edi]
jmp 0x41e7ed
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456e50
jbe 0x41e814
cmp eax, ebp
jb 0x41e800
mov edi, dword [edi]
push 7
mov eax, 0x456e50
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402be0
jmp 0x41e855
cmp eax, 7
jae 0x41e826
mov ecx, dword [esi + 0x14]
push ecx
push 7
mov ecx, esi
call fcn.00403340
mov ecx, dword [esi + 0x18]
cmp ecx, ebp
jb 0x41e831
mov eax, dword [edi]
jmp 0x41e833
mov eax, edi
push 7
push 0x456e50
push ecx
push eax
call fcn.00439ca9
add esp, 0x10
mov dword [esi + 0x14], 7
cmp dword [esi + 0x18], ebp
jb 0x41e852
mov edi, dword [edi]
mov byte [edi + 7], bl
lea esi, [esp + 0x90]
call fcn.004014e0
mov byte [esp + 0x2d0], 0x15
call fcn.00401900
mov byte [esp + 0x2cc], 0x16
cmp dword [eax + 0x18], ebp
jb 0x41e880
mov eax, dword [eax + 4]
jmp 0x41e883
add eax, 4
push eax
lea esi, [esp + 0x140]
mov byte [esp + 0x2d0], 0x18
call fcn.0042e5f0
add esp, 0x1c
lea edx, [esp + 0x15c]
push edx
mov edi, eax
mov byte [esp + 0x2b8], 0x19
call fcn.0042e690
lea eax, [esp + 0x15c]
push eax
lea edi, [esp + 0x28]
mov byte [esp + 0x2b8], 0x1a
call fcn.0042bbf0
lea esi, [esp + 0x15c]
call fcn.0041f6d0
lea esi, [esp + 0x124]
call fcn.0041f680
cmp dword [esp + 0x120], ebp
jb 0x41e8fc
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
mov edi, 0xf
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
cmp dword [esp + 0x158], ebp
jb 0x41e938
mov edx, dword [esp + 0x144]
push edx
call fcn.00439c49
add esp, 4
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x54], ebp
jb 0x41e960
mov eax, dword [esp + 0x40]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0xb0]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea ecx, [esp + 0x108]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xd
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456e58
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x1b
call fcn.004015b0
mov byte [esp + 0x2b4], 0x1c
cmp dword [eax + 0x18], ebp
jb 0x41e9cd
mov eax, dword [eax + 4]
jmp 0x41e9d0
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
lea edx, [esp + 0x124]
push edx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0x1d
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
cmp dword [esp + 0x13c], 0x10
jb 0x41ea1e
mov eax, dword [esp + 0x128]
push eax
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov edi, 0x10
mov ebp, 0xf
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x120], edi
jb 0x41ea58
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
call fcn.00417af0
lea edx, [esp + 0x3c]
push edx
sub esp, 0x1c
mov dword [esp + 0x2d4], ebx
mov ecx, esp
mov dword [esp + 0x38], esp
push 2
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x456e4c
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0xd0]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x20
call fcn.004015b0
mov byte [esp + 0x2b4], 0x21
cmp dword [eax + 0x18], edi
jb 0x41ead0
mov eax, dword [eax + 4]
jmp 0x41ead3
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
sub esp, 0x18
mov byte [esp + 0x2cc], 0x22
mov eax, esp
mov dword [esp + 0x30], esp
lea ecx, [esp + 0x13c]
push ecx
push eax
call fcn.0042b360
lea edx, [esp + 0x120]
push edx
sub esp, 0x1c
mov byte [esp + 0x2ec], 0x23
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xa
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.e_68
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x90]
call fcn.004014e0
mov byte [esp + 0x2d0], 0x24
call fcn.004015b0
mov byte [esp + 0x2cc], 0x25
cmp dword [eax + 0x18], edi
jb 0x41eb58
mov eax, dword [eax + 4]
jmp 0x41eb5b
add eax, 4
push eax
lea esi, [esp + 0x15c]
mov byte [esp + 0x2d0], 0x27
call fcn.0042e5f0
add esp, 0x1c
lea ecx, [esp + 0x15c]
push ecx
mov edi, eax
mov byte [esp + 0x2b8], 0x28
call fcn.0042e690
lea edx, [esp + 0x15c]
push edx
lea edi, [esp + 0x28]
mov byte [esp + 0x2b8], 0x29
call fcn.0042bbf0
lea esi, [esp + 0x15c]
call fcn.0041f6d0
lea esi, [esp + 0x140]
call fcn.0041f680
cmp dword [esp + 0x120], 0x10
jb 0x41ebd5
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
mov edi, 0x10
cmp dword [esp + 0x13c], edi
jb 0x41ec11
mov ecx, dword [esp + 0x128]
push ecx
call fcn.00439c49
add esp, 4
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x54], edi
jb 0x41ec39
mov edx, dword [esp + 0x40]
push edx
call fcn.00439c49
add esp, 4
lea esi, [esp + 0xb0]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea eax, [esp + 0x108]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xa
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x456e74
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x2a
call fcn.00401900
mov byte [esp + 0x2b4], 0x2b
cmp dword [eax + 0x18], edi
jb 0x41eca6
mov eax, dword [eax + 4]
jmp 0x41eca9
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
lea ecx, [esp + 0x124]
push ecx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0x2c
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
mov ebp, 0x10
cmp dword [esp + 0x13c], ebp
jb 0x41ecfb
mov edx, dword [esp + 0x128]
push edx
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x120], ebp
jb 0x41ed30
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea ecx, [esp + 0x108]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x15
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456e80
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x2d
call fcn.004016a0
mov byte [esp + 0x2b4], 0x2e
cmp dword [eax + 0x18], ebp
jb 0x41eda3
mov eax, dword [eax + 4]
jmp 0x41eda6
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
lea edx, [esp + 0x124]
push edx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0x2f
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
mov edi, 0x10
cmp dword [esp + 0x13c], edi
jb 0x41edf8
mov eax, dword [esp + 0x128]
push eax
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov ebp, 0xf
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x120], edi
jb 0x41ee2d
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea edx, [esp + 0x3c]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 2
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x4555fc
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0xd0]
call fcn.004014e0
mov ecx, eax
mov byte [esp + 0x2b8], 0x30
call fcn.00401760
mov byte [esp + 0x2b4], 0x31
cmp dword [eax + 0x18], edi
jb 0x41eea2
mov eax, dword [eax + 4]
jmp 0x41eea5
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
sub esp, 0x18
mov byte [esp + 0x2cc], 0x32
mov eax, esp
mov dword [esp + 0x30], esp
lea ecx, [esp + 0x13c]
push ecx
push eax
call fcn.0042b360
lea edx, [esp + 0x120]
push edx
sub esp, 0x1c
mov byte [esp + 0x2ec], 0x33
mov ecx, esp
mov dword [esp + 0x54], esp
push ebp
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.wu_0
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x90]
call fcn.004014e0
mov ecx, eax
mov byte [esp + 0x2d0], 0x34
call fcn.00401760
mov byte [esp + 0x2cc], 0x35
cmp dword [eax + 0x18], edi
jb 0x41ef2b
mov eax, dword [eax + 4]
jmp 0x41ef2e
add eax, 4
push eax
lea esi, [esp + 0x15c]
mov byte [esp + 0x2d0], 0x37
call fcn.0042e5f0
add esp, 0x1c
lea ecx, [esp + 0x15c]
push ecx
mov edi, eax
mov byte [esp + 0x2b8], 0x38
call fcn.0042e690
lea edx, [esp + 0x15c]
push edx
lea edi, [esp + 0x28]
mov byte [esp + 0x2b8], 0x39
call fcn.0042bbf0
lea esi, [esp + 0x15c]
call fcn.0041f6d0
lea esi, [esp + 0x140]
call fcn.0041f680
mov edi, 0x10
cmp dword [esp + 0x120], edi
jb 0x41efac
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
cmp dword [esp + 0x13c], edi
jb 0x41efe3
mov ecx, dword [esp + 0x128]
push ecx
call fcn.00439c49
add esp, 4
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x54], edi
jb 0x41f00b
mov edx, dword [esp + 0x40]
push edx
call fcn.00439c49
add esp, 4
lea esi, [esp + 0xb0]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
lea eax, [esp + 0x108]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xd
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x456e58
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x78]
call fcn.004014e0
mov byte [esp + 0x2b8], 0x3a
call fcn.004015b0
mov byte [esp + 0x2b4], 0x3b
cmp dword [eax + 0x18], edi
jb 0x41f078
mov eax, dword [eax + 4]
jmp 0x41f07b
add eax, 4
push eax
lea ecx, [esp + 0x128]
call fcn.00402930
lea ecx, [esp + 0x124]
push ecx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0x2bc], 0x3c
call fcn.0042bb80
mov ebx, eax
add esp, 4
add ebx, 0x1c
call fcn.0042b540
mov esi, 0x10
cmp dword [esp + 0x13c], esi
jb 0x41f0cd
mov edx, dword [esp + 0x128]
push edx
call fcn.00439c49
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x120], esi
jb 0x41f102
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x2b4], bl
call fcn.004037a0
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov ecx, edx
xor ebp, ebp
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x1c], ebp
je 0x41f646
lea esp, [esp]
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
push ebp
lea eax, [esp + 0x28]
mov byte [esp + 0x2b8], 0x3d
lea esi, [esp + 0x144]
call fcn.0042bae0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402be0
call fcn.0041f730
cmp eax, ebx
jge 0x41f283
push ebp
lea eax, [esp + 0x28]
call fcn.0042bae0
cmp dword [eax + 0x18], 0x10
jb 0x41f1bb
mov eax, dword [eax + 4]
jmp 0x41f1be
add eax, 4
push eax
lea edx, [esp + 0x10c]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x21
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456ea8
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x7c]
call fcn.004014e0
mov byte [esp + 0x2bc], 0x3e
call fcn.004016a0
mov byte [esp + 0x2b8], 0x3f
cmp dword [eax + 0x18], 0x10
jb 0x41f20e
mov eax, dword [eax + 4]
jmp 0x41f211
add eax, 4
push eax
mov eax, dword [esp + 0x28]
push 1
push eax
call fcn.0041da70
add esp, 0x10
cmp dword [esp + 0x120], 0x10
jb 0x41f23b
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
mov byte [esp + 0x2b4], bl
cmp dword [esp + 0x158], 0x10
jb 0x41f620
mov edx, dword [esp + 0x144]
push edx
call fcn.00439c49
add esp, 4
jmp 0x41f620
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x164]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402be0
call fcn.0041ddd0
cmp eax, ebx
jge 0x41f3ae
mov eax, dword [esp + 0x144]
mov esi, 0x10
cmp dword [esp + 0x158], esi
jae 0x41f2ce
lea eax, [esp + 0x144]
push eax
push ebp
lea eax, [esp + 0x2c]
call fcn.0042bae0
cmp dword [eax + 0x18], esi
jb 0x41f2e3
mov eax, dword [eax + 4]
jmp 0x41f2e6
add eax, 4
push eax
lea ecx, [esp + 0x110]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x22
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456ecc
mov byte [ecx + 4], bl
call fcn.00402f50
lea esi, [esp + 0x80]
call fcn.004014e0
mov byte [esp + 0x2c0], 0x40
call fcn.00401900
mov byte [esp + 0x2bc], 0x41
cmp dword [eax + 0x18], 0x10
jb 0x41f339
mov eax, dword [eax + 4]
jmp 0x41f33c
add eax, 4
mov edx, dword [esp + 0x28]
push eax
push 1
push edx
call fcn.0041da70
add esp, 0x14
cmp dword [esp + 0x120], 0x10
jb 0x41f366
mov eax, dword [esp + 0x10c]
push eax
call fcn.00439c49
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
call fcn.004037a0
mov byte [esp + 0x2b4], bl
cmp dword [esp + 0x158], 0x10
jb 0x41f620
mov ecx, dword [esp + 0x144]
push ecx
call fcn.00439c49
add esp, 4
jmp 0x41f620
mov esi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x28]
xor ebp, ebp
call fcn.0042bae0
mov ecx, dword [eax + 0x2c]
sub ecx, dword [eax + 0x28]
add eax, 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41f604
push ebp
push ecx
push esi
lea eax, [esp + 0x30]
call fcn.0042bae0
add esp, 4
add eax, 0x1c
call fcn.00404da0
push eax
lea ecx, [esp + 0x144]
push ecx
lea edi, [esp + 0x110]
call fcn.00405570
add esp, 8
call fcn.00417b30
sub eax, 1
jne 0x41f423
call fcn.00418980
call fcn.00406ed0
mov edi, 0xf
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
sub esp, 0x1c
mov byte [esp + 0x2d0], 0x43
lea edx, [esp + 0x124]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402970
call fcn.0041ddd0
cmp eax, ebx
jge 0x41f489
lea ecx, [esp + 0x124]
call fcn.004029a0
lea ecx, [esp + 0x108]
mov byte [esp + 0x2b4], 0x3d
call fcn.004029a0
jmp 0x41f5d5
push 0x103
lea eax, [esp + 0x1a1]
push ebx
push eax
mov byte [esp + 0x1a8], bl
call fcn.00440440
add esp, 0xc
push 0x104
lea ecx, [esp + 0x1a0]
push ecx
lea ecx, [esp + 0x110]
call fcn.00402b00
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
cmp eax, ebx
je 0x41f4e5
cmp eax, 0x104
jae 0x41f4e5
lea edx, [esp + 0x19c]
push edx
lea ecx, [esp + 0x128]
call fcn.00402cc0
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
mov dword [esp + 0x190], edi
mov dword [esp + 0x18c], ebx
mov byte [esp + 0x17c], bl
mov byte [esp + 0x2b4], 0x44
call fcn.00430f00
test eax, eax
je 0x41f52a
call fcn.00419d50
call fcn.0041ab40
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x168]
call fcn.00402be0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x184]
call fcn.00402be0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x194], ebx
add edi, 0x2c0
lea ebx, [esp + 0x15c]
mov dword [esp + 0x198], 1
call fcn.0042b720
call fcn.004177e0
test eax, eax
je 0x41f593
call fcn.00431240
call fcn.00431240
call fcn.00417970
lea esi, [esp + 0x15c]
mov dword [esp + 0x2b4], 0x44
call fcn.0042f8a0
lea ecx, [esp + 0x124]
call fcn.004029a0
lea ecx, [esp + 0x108]
mov byte [esp + 0x2b4], 0x3d
call fcn.004029a0
mov esi, dword [esp + 0x1c]
xor ebx, ebx
push esi
lea eax, [esp + 0x28]
inc ebp
call fcn.0042bae0
mov ecx, dword [eax + 0x2c]
sub ecx, dword [eax + 0x28]
add eax, 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x41f3e0
lea ecx, [esp + 0x140]
mov byte [esp + 0x2b4], bl
call fcn.004029a0
mov ebp, dword [esp + 0x1c]
mov edi, 0xf
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc ebp
add ecx, edx
mov dword [esp + 0x1c], ebp
cmp ebp, ecx
jb 0x41f150
lea esi, [esp + 0x24]
call fcn.0042ba90
xor eax, eax
mov ecx, dword [esp + 0x2ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x290]
xor ecx, esp
call fcn.00439641
add esp, 0x2a4
ret 4