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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1f0
push esi
push edi
mov edi, edx
mov dword [esp + 0x34], ecx
xor esi, esi
mov dword [esp + 0x2c], edi
push 2
lea ecx, [esp + 0xec]
mov dword [esp + 0x40], esi
call fcn.00412a53
mov dword [esp + 0x30], 9
lea ecx, [esp + 0x17c]
push 3
call fcn.00412a53
mov dword [esp + 0x30], 7
mov dword [esp + 0x14], esi
jmp 0x41144c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], 0x13dd33a4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x411436
mov dword [esp + 0x14], esi
jmp 0x41146f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
mov dword [eax + ecx*4], 0x36b586fa
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x411459
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x17c]
mov dword [eax + 4], esi
call fcn.00412b28
lea ecx, [esp + 0xe8]
call fcn.00412b28
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4114b0
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x40], 4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x4114a0
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x4114ce
push 0xf20
call dword [0xabc1e8]
xor eax, eax
mov dword [esp + 0x40], 0xfffffff9
jmp 0x4114f6
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x4114f2
push 0x15cc
push eax
push eax
call dword [0xabc050]
xor eax, eax
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 0x14
jle 0x4114d8
mov ecx, dword [0xaba274]
test cl, 1
jne 0x41158c
push eax
or ecx, 1
mov dword [0xaba250], eax
push eax
mov dword [0xaba274], ecx
mov dword [0xaba254], eax
call fcn.00413960
mov dword [0xaba250], eax
xor esi, esi
mov dword [esp + 0xb4], eax
mov ecx, 0xaba258
lea eax, [esp + 0xb4]
mov dword [0xaba258], esi
push eax
push 0x10
push esi
lea eax, [esp + 0x94]
mov dword [0xaba260], esi
push eax
mov dword [0xaba26c], 0x3f800000
mov dword [0xaba25c], esi
call fcn.00413705
push 0x4c0925
mov dword [0xaba264], 7
mov dword [0xaba268], 8
call fcn.004a3bff
pop ecx
mov dword [esp + 0x30], 0xd6f2
xor eax, eax
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x30], 0x31e19e95
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
jmp 0x4115cb
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x1d8], 5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x4115b8
mov dword [esp + 0x14], eax
jmp 0x4115eb
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x1cc], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x4115d8
dec dword [esp + 0x20]
imul ecx, dword [esp + 0x34], 0x2710
add ecx, edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], 0x3fcb50bf
mov dword [esp + 0x10], eax
jmp 0x411622
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x38], 0x8eac8b13
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x411612
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], eax
jl 0x41177b
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0xffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x30], 0x262b096
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], eax
jl 0x411714
mov dword [esp + 0xc], eax
jmp 0x411673
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x4c], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x411667
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esp + 0x54]
jle 0x411688
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
imul edx, dword [esp + 0x18]
push 0
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, 7
setge cl
xor edx, edx
cmp ecx, 0x753589fe
mov ecx, dword [esp + 0x50]
setl dl
cmp edx, ecx
pop ecx
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
setne dl
mov dword [esp + ecx*4 + 0x38], edx
mov ecx, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], 0x10e0
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x41170a
push eax
push 0xc41
push eax
push eax
call dword [0xabc0cc]
xor eax, eax
dec dword [esp + 0x18]
jns 0x411661
mov dword [esp + 0x10], eax
jmp 0x41176b
mov dword [esp + 0x28], 0xffffffff
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x41173f
push 0x25c7
push 0x25af
call dword [0xabc1f8]
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x411761
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x38], edx
dec dword [esp + 0x28]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], eax
jle 0x411745
inc dword [esp + 0x10]
cmp dword [esp + 0x10], eax
jle 0x41171a
dec dword [esp + 0x14]
jns 0x411637
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], eax
jl 0x4117af
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x4117a9
push eax
push eax
push 0x1d8e
push 0x193
push 0x1049
call dword [0xabc1d8]
xor eax, eax
dec dword [esp + 0x14]
jns 0x411785
lea eax, [esp + 0x48]
push eax
call fcn.00412b67
mov edi, dword [eax]
test edi, edi
je 0x4119ad
mov dword [esp + 0x2c], 0xfffffff7
lea ecx, [esp + 0x188]
mov dword [esp + 0x2c], 0xffb871c7
mov dword [esp + 0x2c], 3
mov dword [esp + 0x2c], 1
push 3
call fcn.00412a53
mov dword [esp + 0x2c], 0x7d0b
lea ecx, [esp + 0x130]
xor esi, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x2c], 0x52a28486
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x2c], 0x8bee6da
mov dword [esp + 0x10], 0xbe72f236
push 2
call fcn.00412a53
push dword [esp + 0x88]
movdqa xmm0, xmmword [0xab4bc0]
lea eax, [esp + 0x1b8]
push eax
lea eax, [esp + 0x1ac]
mov dword [esp + 0x34], 0x8f60
push eax
push esi
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], esi
movdqu xmmword [esp + 0x1b4], xmm0
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
call fcn.00413c34
mov dword [esp + 0x14], esi
jmp 0x41189b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x188]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x411885
mov dword [esp + 0x14], esi
jmp 0x4118bb
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x158], 0xa12535b5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x4118a8
mov dword [esp + 0x14], esi
jmp 0x4118de
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0xf2fea276
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x4118c8
mov eax, dword [esp + 0xa4]
push 2
inc dword [eax + 4]
mov dword [esp + 0x14], esi
pop esi
jmp 0x41190e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0x11e3584f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4118f8
lea ecx, [esp + 0xa4]
call fcn.00412b28
lea ecx, [esp + 0x130]
call fcn.00412b28
lea ecx, [esp + 0x188]
call fcn.00412b28
push esi
lea ecx, [esp + 0x128]
mov dword [esp + 0x80], edi
call fcn.00412a53
xor eax, eax
mov dword [esp + 0x1c], 0xeede0b40
mov dword [esp + 0x10], eax
jmp 0x411972
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x124]
mov dword [ecx + edx*4], 0xf43b7c7c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41195c
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x41198f
push eax
push 0x221
push eax
call dword [0xabc0c0]
mov eax, dword [esp + 0x124]
lea ecx, [esp + 0x124]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
call fcn.00412b28
jmp 0x4128e7
xor eax, eax
mov dword [esp + 0x1c], 0xa136951a
push 2
mov dword [esp + 0x14], eax
pop esi
jmp 0x4119d3
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x14c], 0x5cd53bc6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4119c0
mov ecx, dword [esp + 0x1c]
xor edx, edx
test ecx, ecx
sets dl
mov dword [esp + 0x14c], edx
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x4119fd
call dword [0xabc0bc]
xor eax, eax
mov ecx, dword [0xaba274]
test cl, 2
jne 0x411a87
push eax
or ecx, esi
mov dword [0xaba210], eax
push eax
mov dword [0xaba274], ecx
mov dword [0xaba214], eax
call fcn.00413960
mov ecx, eax
mov dword [0xaba22c], 0x3f800000
mov dword [0xaba210], ecx
xor eax, eax
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0xb8]
push ecx
push 0x10
push eax
mov dword [0xaba218], eax
mov ecx, 0xaba218
mov dword [0xaba220], eax
mov dword [0xaba21c], eax
lea eax, [esp + 0x84]
push eax
call fcn.00413705
push 0x4c0920
mov dword [0xaba224], 7
mov dword [0xaba228], 8
call fcn.004a3bff
pop ecx
xorps xmm0, xmm0
lea ecx, [esp + 0x10c]
movdqu xmmword [esp + 0x94], xmm0
mov dword [esp + 0x14], 0xffffffff
xor edi, edi
mov dword [esp + 0x24], 0x54a20a29
inc edi
mov dword [esp + 0x10], 0xbaf9eb11
mov dword [esp + 0x20], 0xf085ffff
push edi
call fcn.00412a53
push esi
lea ecx, [esp + 0x104]
call fcn.00412a53
xor eax, eax
mov dword [esp + 0x1c], 0x497d6a58
mov dword [esp + 0xc], eax
jmp 0x411af6
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + edx*4], 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x411ae0
mov dword [esp + 0xc], eax
jmp 0x411b18
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x100]
mov dword [ecx + edx*4], 0x718d
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x411b02
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp ecx, 0xca9d
setle dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x14]
jne 0x411ba4
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
push 0
pop ecx
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x1c], ecx
setl dl
imul ecx, edx, 0xfff6
xor edx, edx
cmp ecx, 0xb676
setg dl
inc edx
je 0x411b8c
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10c]
cmp dword [ecx], eax
jne 0x411bbb
mov ecx, eax
cmp dword [esp + 0x10], eax
je 0x411bbd
mov ecx, edi
mov eax, dword [esp + 0x100]
xor edx, edx
cmp ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x100]
call fcn.00412b28
lea ecx, [esp + 0x10c]
call fcn.00412b28
lea eax, [esp + 0x34]
push eax
call fcn.00412bc9
push edi
lea ecx, [esp + 0x11c]
mov esi, dword [eax]
mov dword [esp + 0x28], esi
call fcn.00412a53
mov dword [esp + 0xc], 0x12b57e8b
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0x2d74
mov dword [esp + 0xc], eax
jmp 0x411c3e
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [ecx + edx*4], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x411c2c
push 2
mov dword [esp + 0x10], eax
pop edx
jmp 0x411c60
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0xd0], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x411c4d
mov ecx, dword [esp + 0x118]
mov ecx, dword [ecx]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd4], ecx
test ecx, ecx
je 0x411ca2
mov dword [esp + 0x20], 0x9cc14173
mov dword [esp + 0x20], 0x9d19ac19
mov eax, dword [esp + 0x20]
mov dword [esp + 0xd4], eax
jmp 0x411d5c
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
jmp 0x411cbb
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x8c], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x411cac
cmp dword [esp + 0x18], eax
je 0x411cef
mov dword [esp + 0x20], 7
xor ecx, ecx
mov dword [esp + 0x1c], 0xffffffff
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 0x33e4
setge cl
mov dword [esp + 0x1c], ecx
jmp 0x411d5c
mov dword [esp + 0x10], 0xfffa
mov dword [esp + 0xc], 0xffffffe8
jmp 0x411d55
mov dword [esp + 0x20], 0x5c3c3ae5
mov dword [esp + 0x18], eax
jmp 0x411d4a
mov dword [esp + 0x14], 9
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x8c], eax
jne 0x411d3a
mov ecx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x2b
jle 0x411d0f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffef
jle 0x411d01
inc dword [esp + 0x28]
lea ecx, [esp + 0x118]
call fcn.00412b28
cmp byte [ebp + 0xc], 0
jne 0x411d7a
test esi, esi
jne 0x41219e
mov dword [esp + 0x18], 0x3fcb50bf
lea ecx, [esp + 0x15c]
mov dword [esp + 0x10], 0xf6cc9ca3
mov dword [esp + 0xc], 0xfffffff7
push edi
call fcn.00412a53
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x411dba
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0xd8], 0xa8eac8b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x411da7
mov dword [esp + 0xc], eax
jmp 0x411dda
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x15c]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x411dc7
push 3
pop edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], eax
jl 0x411f07
mov dword [esp + 0x20], 5
mov dword [esp + 0x28], 0x23d4
mov dword [esp + 0x20], 0x6942a1e9
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x28]
cmp edx, ecx
push 0
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
imul ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x1c]
setne dl
cmp edx, 0xd0c1
jle 0x411e50
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x28]
imul edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xd8]
push 0
cmp edx, ecx
pop ecx
setg cl
xor edx, edx
cmp ecx, 0x13ca4d9a
mov ecx, dword [esp + 0x28]
setl dl
add ecx, edx
xor edx, edx
cmp ecx, 0x3a7ef23e
mov ecx, dword [esp + 0xdc]
setl dl
mov dword [esp + 0x1c], edx
xor edx, edx
cmp dword [esp + 0x1c], ecx
setg dl
mov dword [esp + 0xc], edx
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], eax
jl 0x411efd
mov dword [esp + 0x1c], 0x2a1e
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], eax
jl 0x411ed4
mov dword [esp + 0x20], 0x8694a219
cmp dword [esp + 0x1c], eax
jne 0x411ed4
mov dword [esp + 0x20], 0x782ecc90
dec dword [esp + 0x10]
jns 0x411eb8
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x411ef7
push eax
push 0x892
push 0x1cc2
push 0xcf8
call dword [0xabc034]
xor eax, eax
dec dword [esp + 0xc]
jns 0x411ea6
dec dword [esp + 0x18]
jns 0x411df1
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x411f20
push eax
push eax
push 0x17df
push eax
call dword [0xabc098]
lea ecx, [esp + 0x15c]
call fcn.00412b28
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x1e8]
mov ecx, dword [esp + 0x34]
push eax
call fcn.004017ad
mov esi, eax
lea edi, [esp + 0x98]
xor eax, eax
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], 0x8d327cb3
mov dword [esp + 0x14], 0xdb959c45
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x411f84
push eax
push 0x86b
push 0x7b
push 0x2337
push 0xb88
call dword [0xabc1d4]
xor eax, eax
cmp dword [esp + 0xc], eax
je 0x412015
mov dword [esp + 0x20], 0xc2fdcba8
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
neg ecx
push 0
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x5fac1226
mov ecx, dword [esp + 0x24]
setl dl
cmp edx, ecx
pop ecx
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x1c]
setle dl
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0xa8b35eda
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x41211b
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1466
push 0x792
push 0x260
push eax
call dword [0xabc008]
jmp 0x412119
push dword [esp + 0x78]
movdqa xmm0, xmmword [0xab4bd0]
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x74], eax
push ecx
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x80], eax
movdqu xmmword [esp + 0x1a4], xmm0
mov dword [esp + 0x84], eax
call fcn.00413c34
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x412071
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x168], 0xd8d955a6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x41205e
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x14], 1
cmp dword [edx + 4], eax
je 0x4120f3
mov dword [esp + 0x1c], 0xe91b76e1
mov dword [esp + 0x20], 3
mov dword [esp + 0x14], eax
jmp 0x4120b2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x41209f
mov dword [esp + 0xc], 0xf
jmp 0x4120ea
mov eax, dword [esp + 0xc]
mov ecx, 0xffff0001
mov eax, dword [esp + 0xc]
imul eax, dword [esp + 0x1c], 7
sub ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x168], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x16
jne 0x4120c3
jmp 0x412110
xor ecx, ecx
cmp dword [edx + 0xc], eax
setne cl
mov dword [esp + 0x14], ecx
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x412110
push eax
call dword [0xabc0b8]
lea ecx, [esp + 0x6c]
call fcn.00412b28
xor eax, eax
cmp byte [ebp + 0xc], 0
je 0x41219a
cmp dword [esp + 0x9c], 0
je 0x41219a
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x80], ecx
mov ecx, 0x5bb2c213
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x1c], 6
cmp dword [esp + 0x148], eax
je 0x412175
mov dword [esp + 0x1c], 0x689351f2
jmp 0x41218c
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x41218c
push eax
push eax
push eax
push eax
push eax
push eax
call dword [0xabc00c]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x84], eax
mov esi, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x10], 0xc68ec0ae
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x4121c0
push eax
push 0x10b0
call dword [0xabc1c0]
xor eax, eax
mov dword [esp + 0x10], 0xffffffe9
jmp 0x4121ef
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], 0
je 0x4121eb
push 0x694
push eax
push eax
push eax
push eax
push 0xbf0
call dword [0xabc1b8]
xor eax, eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffef
je 0x4121ca
push 0xfffffffffffffffc
pop edi
test esi, esi
jne 0x41256b
cmp dword [esp + 0x94], esi
jle 0x41256b
mov dword [esp + 0x1c], 0x2c70
mov dword [esp + 0x18], 5
mov dword [esp + 0x20], 0x86e871d9
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0xfffffffd
cmp dword [esp + 0x18], 0xfffffff7
je 0x4122a4
push 3
lea ecx, [esp + 0xf8]
call fcn.00412a53
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], esi
jmp 0x412273
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 0x85a1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x41225d
mov eax, dword [esp + 0xf4]
xor ecx, ecx
dec dword [eax]
cmp dword [eax], 0xe3cf9575
sete cl
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xf4]
call fcn.00412b28
dec dword [esp + 0x18]
jmp 0x41223e
mov dword [esp + 0x30], 0x8d020bd2
mov dword [esp + 0x30], 0x945cb81e
mov dword [esp + 0x30], 0x3e4f6f48
mov dword [esp + 0x10], esi
xor esi, esi
inc esi
jmp 0x4122d8
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x154], 0x88039d6b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4122c5
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x60]
dec dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x20], 0x23f1
mov dword [esp + 0x14], 0xd5b611fb
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x28], 3
mov dword [esp + 0x1c], 0x294b58fe
push 2
call fcn.00412a53
mov dword [esp + 0xb0], esi
xor eax, eax
mov dword [esp + 0x30], 0x92f8
mov dword [esp + 0xc], eax
jmp 0x41234b
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
mov dword [ecx + edx*4], 0x456b8642
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x412338
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
push 0
pop ecx
setg cl
sub ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
je 0x4123d2
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
sub esi, ecx
mov ecx, dword [esp + 0xc]
neg esi
sbb esi, esi
xor edx, edx
inc esi
neg esi
cmp esi, ecx
setne dl
cmp edx, 0x93d0b548
jbe 0x4123a8
cmp dword [esp + 0x14], eax
jne 0x4123a8
cmp dword [esp + 0x20], eax
jne 0x4123a8
mov esi, eax
jmp 0x4123ab
xor esi, esi
inc esi
mov ecx, dword [esp + 0x28]
xor edx, edx
cmp esi, ecx
setle dl
xor esi, esi
imul edx, dword [esp + 0x20]
inc esi
sub edx, dword [esp + 0xc]
mov dword [esp + 0x14], edx
mov edx, esi
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x1c], esi
jne 0x4123d4
mov edx, eax
mov ecx, dword [esp + 0x60]
sub edx, dword [ecx]
mov ecx, dword [esp + 0x28]
sub edx, ecx
je 0x412450
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ecx
jge 0x412406
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1b4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x4123ec
mov byte [esp + 0xb], al
cmp byte [esp + 0xb], al
je 0x41241a
push eax
push eax
call dword [0xabc014]
xor eax, eax
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], eax
jl 0x412516
mov esi, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x1bc]
mov eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0x60]
setg dl
mov dword [eax + esi*4], edx
dec dword [esp + 0x18]
jns 0x412428
jmp 0x412516
mov dword [esp + 0xc], 0x842c
mov dword [esp + 0x1c], 0x576189e
mov dword [esp + 0x14], eax
jmp 0x412479
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xbc], 0xb3bd830b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x412466
mov eax, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
imul ecx, dword [eax], 0x3bbb
mov eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x8509ef6e
setle cl
imul ecx, dword [esp + 0xc]
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0xdcda
mov eax, dword [esp + 0x28]
setg cl
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
cmp edx, 0x3a3c
mov dword [esp + 0xbc], edx
setne cl
xor eax, eax
cmp ecx, 0xfffffff6
setne al
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x60]
call fcn.00412b28
mov esi, dword [esp + 0x98]
test esi, esi
je 0x41256b
push esi
push 0x2268
push 0x4895
push 1
push 1
push 0x3a78
push 1
push 0xdf9
push 0x2db5
call fcn.0040f850
add esp, 0x24
push esi
call fcn.00455c98
mov esi, eax
lea eax, [esp + 0x38]
pop ecx
push eax
mov dword [esp + 0x28], esi
call fcn.00412bc9
mov dword [eax], esi
lea ecx, [esp + 0x94]
call fcn.0040b4df
xor esi, esi
mov dword [esp + 0x18], 0x7e2799ac
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], 0xfffffff2
je 0x412679
push 4
pop esi
push esi
lea ecx, [esp + 0x174]
call fcn.00412a53
mov dword [esp + 0x10], 0x9cc14173
mov dword [esp + 0xc], 0
jmp 0x4125cc
push dword [esp + 0xc]
lea ecx, [esp + 0x174]
call fcn.00412b44
mov dword [eax], 0xfffffffd
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4125b2
mov dword [esp + 0xc], 0
jmp 0x4125ef
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xc0], 0x2edc7555
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4125dc
mov dword [esp + 0xcc], 0
jmp 0x412624
mov byte [esp + 0xb], 0
cmp byte [esp + 0xb], 0
je 0x41261d
push 0
push 0x1819
push 0
call dword [section..idata]
inc dword [esp + 0xcc]
cmp dword [esp + 0xcc], 3
jle 0x412602
mov dword [esp + 0x10], 9
jmp 0x412655
mov byte [esp + 0xb], 0
cmp byte [esp + 0xb], 0
je 0x412651
push 0
push 0x21e9
call dword [0xabc040]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x412638
lea ecx, [esp + 0x170]
call fcn.00412b28
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff2
jne 0x412593
xor esi, esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x41289a
mov edx, dword [esp + 0x2c]
call fcn.004113dc
mov dword [esp + 0x28], 0xfffffff8
mov edi, eax
mov dword [esp + 0x14], 0x65121ac4
xor eax, eax
mov dword [esp + 0xc], 0xc544087
mov dword [esp + 0x20], 0x856c
mov dword [esp + 0x1c], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x24], eax
jmp 0x4126d8
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x58], 0xec17e5c2
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x4126c8
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x28]
je 0x412703
mov ecx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x14]
je 0x412703
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
xor edx, edx
cmp ecx, 1
setge dl
mov dword [esp + 0xc], edx
cmp dword [esp + 0xc], eax
je 0x41276a
mov dword [esp + 0x2c], 0x4b5e
xor edx, edx
mov dword [esp + 0x28], 0x37c57f39
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], 0x41311e2d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0x2c]
setge dl
xor ecx, ecx
neg eax
cmp eax, edx
setge cl
mov dword [esp + 0x14], ecx
jmp 0x412889
mov dword [esp + 0x10], 7
mov dword [esp + 0x28], 4
mov dword [esp + 0x2c], 0x24791a13
mov dword [esp + 0x14], 0xe
jmp 0x41287e
mov dword [esp + 0x18], 0x49d95921
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], eax
jmp 0x4127b1
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x3c], 0x167519ba
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 1
jl 0x4127a1
cmp dword [esp + 0x1c], eax
je 0x412810
cmp dword [esp + 0x18], eax
jne 0x412801
cmp dword [esp + 0x5c], eax
je 0x4127d5
cmp dword [esp + 0xc], eax
je 0x4127d5
xor ecx, ecx
inc ecx
jmp 0x4127d7
mov ecx, eax
add ecx, 0xf989
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x10], eax
je 0x412810
xor edx, edx
inc edx
jmp 0x412812
mov edx, eax
mov ecx, dword [esp + 0x18]
add ecx, edx
imul ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0xc]
je 0x412827
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add edx, 0x3d7775f2
cmp edx, ecx
push 0
pop ecx
setge cl
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, ecx, 0x2167
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
add edx, ecx
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
add ecx, edx
add esi, ecx
mov dword [esp + 0x2c], esi
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff0
jle 0x41278f
lea eax, [esp + 0x48]
push eax
call fcn.00412b67
push 0xfffffffffffffffc
xor esi, esi
mov dword [eax], edi
pop edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], esi
jmp 0x4128bf
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x1c0], 0xfffffffe
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x4128ac
mov dword [esp + 0x24], esi
jmp 0x4128dc
mov dword [esp + 0x1c], 1
inc dword [esp + 0x1c]
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jle 0x4128cc
mov dword [esp + 0x2c], edi
mov eax, dword [ebp + 8]
lea esi, [esp + 0x7c]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret