Function at 0x412700
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x4c]
lea ebp, [esi + 0x2e]
inc eax
xor edi, edi
mov dword [esi + 0x4c], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
lea ebx, [esi + 0x39c]
mov ax, word [ebp + 8]
test ax, ax
je 0x4129f2
fld dword [ebx]
fsub dword [0x485418]
and eax, 0xffff
lea edi, [ebx - 0x34]
mov dword [esp + 0x1c], eax
push ecx
mov ecx, edi
fstp dword [ebx]
fild dword [esp + 0x20]
fmul dword [0x485248]
fsin
fmul qword [0x485410]
fstp dword [esp]
call fcn.0043b440
xor eax, eax
push ecx
mov ax, word [ebp + 8]
mov ecx, edi
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fadd dword [0x4851d0]
fmul dword [0x4852fc]
fsin
fmul qword [0x485408]
fstp dword [esp]
call fcn.0043b440
dec word [ebp + 8]
cmp word [ebp + 8], 0
jne case.0x41283e.8
mov edx, dword [ebx + 4]
mov ecx, dword [ebx - 4]
mov ebp, edx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov ecx, dword [esi]
push ebp
push 0x3f000000
push eax
add ecx, 0x28cdf4
mov dword [esp + 0x2c], edx
call fcn.00409770
mov ecx, edi
call fcn.0043b290
mov ecx, dword [esp + 0x18]
push ebp
push 0x3dcccccd
push ecx
mov ecx, edi
call fcn.0043b520
mov edx, dword [esp + 0x14]
mov ax, word [edx]
mov ecx, eax
and ecx, 0xffff
cmp ax, 0xb
mov dx, word [esi + ecx*2 + 6]
mov word [ebx + 0x2c], dx
je 0x41282a
cmp ax, 0xc
je 0x41282a
cmp ax, 0xd
je 0x41282a
cmp ax, 0xe
je 0x41282a
cmp ax, 0x12
je 0x41282a
cmp ax, 0xf
je 0x41282a
cmp ax, 0x10
je 0x41282a
mov ax, word [esi + 0x42]
mov word [ebx + 0x12], ax
jmp 0x412832
mov dx, word [esi + 0x44]
mov word [ebx + 0x12], dx
add ecx, 0xfffffffe
cmp ecx, 0xb
ja case.0x41283e.8
jmp dword [ecx*4 + 0x413020]
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 4
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 5
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 6
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 7
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 2
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 3
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 0xa
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 0xb
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 0xc
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 0xd
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 8
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 9
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 0x18
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 0x19
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 0x1a
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 0x1b
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov ecx, dword [esi]
add ecx, 0x738adc
call fcn.004211c0
mov ecx, dword [esi]
push 0x25
add ecx, 0x738adc
call fcn.00420fc0
mov ecx, dword [esi]
push 0x26
add ecx, 0x738adc
call fcn.00420fc0
jmp case.0x41283e.8
mov eax, dword [esi + 0x4c]
xor edx, edx
mov ecx, 6
div ecx
test edx, edx
jne 0x412a40
push 0xbeb2b8c2
lea ecx, [ebx - 0x1c4]
call fcn.0043b390
cmp word [ebp], 0
je 0x412a40
cmp word [ebp + 8], 0
jne 0x412a40
push edi
mov ecx, esi
call fcn.00412480
mov eax, dword [esi + 0x4c]
xor edx, edx
mov ecx, 0xc
div ecx
test edx, edx
jne 0x412a40
push edi
mov ecx, esi
call fcn.004125c0
push 0x3d567750
lea ecx, [ebx - 0x34]
call fcn.0043b390
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
inc edi
add ebp, 2
add ebx, 0x64
cmp di, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
jb 0x412723
xor ebp, ebp
mov dword [esp + 0x10], ebp
and ebp, 0xffff
mov eax, dword [esi]
lea edx, [ebp*8]
sub edx, ebp
shl edx, 4
add edx, ebp
lea ebx, [ebp + edx*2]
shl ebx, 4
lea ecx, [ebx + eax + 0x28ed80]
call fcn.00421fd0
test ax, ax
je 0x412d80
lea ecx, [ebp*8]
sub ecx, ebp
mov ax, word [esi + ecx*2 + 0x50]
lea edi, [esi + ecx*2]
test ax, ax
je 0x412b52
dec eax
test ax, ax
mov word [edi + 0x50], ax
jne 0x412ada
mov edx, dword [esi]
push 1
lea ecx, [ebx + edx + 0x28ed80]
call fcn.004238e0
mov eax, dword [esi]
lea ecx, [ebx + eax + 0x28ed80]
call fcn.00421fd0
test al, 4
je 0x412b52
mov eax, dword [esp + 0x10]
test ax, ax
jne 0x412b1b
xor ecx, ecx
mov cx, word [esi + 0x50]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
and eax, 0xffff
push eax
push 9
jmp 0x412b45
cmp ax, 1
jne 0x412b52
xor edx, edx
mov dx, word [esi + 0x5e]
add edx, 0x1e
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
and eax, 0xffff
push eax
push 0xa
mov ecx, dword [esi]
add ecx, 0x37cfc4
call fcn.00410f20
mov ax, word [edi + 0x52]
test ax, ax
je 0x412ba6
dec eax
test ax, ax
mov word [edi + 0x52], ax
jne 0x412b75
mov eax, dword [esi]
push 4
lea ecx, [ebx + eax + 0x28ed80]
call fcn.004238e0
xor ecx, ecx
mov cx, word [edi + 0x52]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 8
add ecx, 0x37cfc4
call fcn.00410f20
mov ax, word [edi + 0x56]
test ax, ax
je 0x412c48
dec eax
test ax, ax
mov word [edi + 0x56], ax
jne 0x412bd0
mov edx, dword [esi]
push 0x80
lea ecx, [ebx + edx + 0x28ed80]
call fcn.004238e0
mov eax, dword [esi]
lea ecx, [ebx + eax + 0x28ed80]
call fcn.00421fd0
test al, 4
je 0x412c48
mov eax, dword [esp + 0x10]
test ax, ax
jne 0x412c11
xor ecx, ecx
mov cx, word [esi + 0x56]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
and eax, 0xffff
push eax
push 0xd
jmp 0x412c3b
cmp ax, 1
jne 0x412c48
xor edx, edx
mov dx, word [esi + 0x64]
add edx, 0x1e
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
and eax, 0xffff
push eax
push 0xe
mov ecx, dword [esi]
add ecx, 0x37cfc4
call fcn.00410f20
mov ax, word [edi + 0x58]
test ax, ax
je 0x412c9f
dec eax
test ax, ax
mov word [edi + 0x58], ax
jne 0x412c6e
mov eax, dword [esi]
push 0x100
lea ecx, [ebx + eax + 0x28ed80]
call fcn.004238e0
xor ecx, ecx
mov cx, word [edi + 0x58]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xf
add ecx, 0x37cfc4
call fcn.00410f20
mov ax, word [edi + 0x5c]
test ax, ax
je 0x412d10
dec eax
test ax, ax
mov word [edi + 0x5c], ax
jne 0x412cc5
mov edx, dword [esi]
push 0x800
lea ecx, [ebx + edx + 0x28ed80]
call fcn.004238e0
mov eax, dword [esi]
lea ecx, [ebx + eax + 0x28ed80]
call fcn.00421fd0
test al, 4
je 0x412d10
cmp word [esp + 0x10], 0
jne 0x412d10
xor ecx, ecx
mov cx, word [esi + 0x5c]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0x13
add ecx, 0x37cfc4
call fcn.00410f20
lea eax, [ebp + 6]
lea edx, [eax*8]
sub edx, eax
mov ax, word [esi + edx*2]
test ax, ax
lea edi, [esi + edx*2]
je 0x412d80
dec eax
test ax, ax
mov word [edi], ax
jne 0x412d3e
mov ecx, dword [esi]
add ecx, 0x2a6080
call fcn.0042f710
mov eax, dword [esi]
lea ecx, [ebx + eax + 0x28ed80]
call fcn.00421fd0
test al, 4
je 0x412d80
xor ecx, ecx
mov cx, word [edi]
add ecx, 0x1e
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xb
add ecx, 0x37cfc4
call fcn.00410f20
mov ebp, dword [esp + 0x10]
inc ebp
cmp bp, 0x18
mov dword [esp + 0x10], ebp
jb 0x412a74
mov eax, dword [esi + 0x1d4]
xor edi, edi
cmp eax, edi
je 0x412dd5
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1d4], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0x13
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1bc]
cmp eax, edi
je 0x412e15
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1bc], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xf
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1c0]
cmp eax, edi
je 0x412e55
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1c0], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xf
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1a0]
cmp eax, edi
je 0x412e95
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1a0], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 8
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1a4]
cmp eax, edi
je 0x412ed5
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1a4], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xc
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1a8]
cmp eax, edi
je 0x412f15
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1a8], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 9
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1b4]
cmp eax, edi
je 0x412f55
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1b4], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xd
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1b8]
cmp eax, edi
je 0x412f95
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1b8], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xe
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1b0]
cmp eax, edi
je 0x412fd5
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1b0], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xa
add ecx, 0x37cfc4
call fcn.00410f20
mov eax, dword [esi + 0x1ac]
cmp eax, edi
je 0x413015
dec eax
mov dword [esp + 0x24], edi
mov dword [esi + 0x1ac], eax
add eax, 0x1e
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x485404]
call fcn.00479904
mov ecx, dword [esi]
and eax, 0xffff
push eax
push 0xb
add ecx, 0x37cfc4
call fcn.00410f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret