Function at 0x49d980
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x38
push ebp
mov ebp, ecx
mov eax, ebp
and eax, 0xfffff000
mov dword [esp + 0x24], eax
mov eax, dword [eax]
push edi
mov edi, dword [eax + 0x128]
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], edi
call fcn.0046c680
test al, al
je 0x49d9c9
test edi, edi
je 0x49d9d3
push 1
push ebp
mov ecx, edi
call fcn.0040df10
test eax, eax
jne 0x49d9d3
pop edi
xor eax, eax
pop ebp
add esp, 0x38
ret 0xc
mov ecx, edi
call fcn.004a76d0
mov ecx, dword [edi + 0xa48]
mov dl, byte [ecx + 0x215]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
and ecx, 7
cmp cl, 7
mov byte [esp + 0x18], dl
jne 0x49da02
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
push ebx
mov ecx, eax
push esi
and ecx, 0xfffffff8
call fcn.0043b050
mov dword [esp + 0x44], eax
cmp byte [ebp + 0x25], 7
jne 0x49dabe
mov ebx, dword [esp + 0x4c]
mov edx, ebx
and edx, 7
cmp dl, 7
mov eax, ebx
jne 0x49da32
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
and eax, 0xfffffff8
mov eax, dword [eax + 8]
test eax, eax
je 0x49da40
mov esi, dword [eax]
jmp 0x49da44
mov esi, dword [esp + 0x4c]
test eax, eax
je 0x49da59
mov ecx, ebp
call fcn.0049d530
cmp eax, esi
jg 0x49dabe
push 1
inc esi
push esi
jmp 0x49dab7
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0xaec]
push ecx
push edx
push ebx
call fcn.00424fe0
add esp, 0xc
test al, al
je 0x49da83
mov eax, dword [esp + 0x50]
push 0
push eax
mov ecx, edi
call fcn.00405c00
push eax
jmp 0x49dab7
cmp dword [esp + 0x2c], 7
jge 0x49dac2
mov edx, dword [esp + 0x44]
push 0
push 0xa
lea ecx, [esp + 0x48]
push ecx
push edx
call fcn.004a4cd0
add esp, 0x10
test eax, eax
je 0x49dabe
mov ecx, ebp
call fcn.0049d530
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jg 0x49dabe
push 1
inc ecx
push ecx
mov ecx, ebp
call fcn.004a16a0
mov ebx, dword [esp + 0x4c]
mov al, byte [esp + 0x20]
test al, al
mov ecx, ebp
je 0x49dad4
push ebx
call fcn.0049bc90
jmp 0x49dadc
push 0
push ebx
call fcn.0049ba70
mov edx, eax
xor ebx, ebx
cmp edx, ebx
mov dword [esp + 0x14], edx
mov byte [esp + 0x40], 0
mov byte [esp + 0x12], 0
je 0x49db33
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 3
test cl, 4
jne 0x49db03
mov ecx, eax
jmp 0x49db10
mov ecx, dword [edx + 4]
and ecx, 0xfffffff8
mov cx, word [ecx + 6]
or cx, ax
shr cl, 2
test cl, 1
je 0x49dfb5
test byte [esp + 0x54], 0x40
jne 0x49dfb5
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x38
ret 0xc
mov eax, dword [esp + 0x54]
and eax, 0xffbf
test ah, 2
mov dword [esp + 0x54], eax
jne 0x49dc13
mov ecx, ebp
mov dword [esp + 0x34], ebx
call fcn.0049bd70
mov esi, eax
cmp esi, ebx
je 0x49dc13
mov edi, edi
test byte [esi + 0x24], 1
je 0x49dbdf
mov al, byte [esp + 0x20]
test al, al
mov ecx, esi
je 0x49db7c
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049bc90
jmp 0x49db86
mov eax, dword [esp + 0x4c]
push eax
call fcn.0049bc20
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, esi
mov edi, eax
call fcn.0049d3a0
test edi, edi
mov ebx, eax
je 0x49dbbb
test ebx, ebx
je 0x49dbbb
or dword [esp + 0x28], 1
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edx
call fcn.00450900
test al, al
jne 0x49dbbb
mov al, 1
jmp 0x49dbbd
xor al, al
test byte [esp + 0x28], 1
je 0x49dbc9
and dword [esp + 0x28], 0xfffffffe
test al, al
je 0x49dbdf
mov ecx, edi
call fcn.00492710
test al, al
je 0x49dc02
cmp dword [esp + 0x2c], 8
jge 0x49dc02
mov eax, dword [esp + 0x34]
inc eax
cmp eax, 0x100
mov dword [esp + 0x34], eax
jge 0x49dc50
mov ecx, esi
call fcn.0049bd70
mov esi, eax
test esi, esi
jne 0x49db60
jmp 0x49dc13
test edi, edi
mov dword [esp + 0x14], edi
mov byte [esp + 0x12], 1
jne 0x49dfb5
mov edx, dword [ebp + 0x20]
cmp dword [ebp + 0x1c], edx
jb 0x49ddd8
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
xor edi, edi
test edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edi
jbe 0x49dc78
mov ecx, dword [ebp + 0x18]
mov esi, edx
add ecx, 4
mov dword [esp + 0x28], esi
mov eax, dword [ecx]
test al, 4
jne 0x49dc60
test eax, 0xfffffff8
jmp 0x49dc66
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x580], 1
jmp 0x49dc13
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49dc6e
inc edi
add ecx, 8
dec esi
jne 0x49dc43
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x14]
mov ebx, dword [ebp + 0x18]
lea ecx, [edx + edx*2]
lea eax, [edi*4]
cmp eax, ecx
jb 0x49dca7
mov ecx, dword [esp + 0x38]
push 3
push 3
add edx, edx
push 8
push edx
mov dword [esp + 0x4c], edx
call fcn.005be180
mov ebx, eax
jmp 0x49dcab
mov dword [esp + 0x3c], edx
mov esi, dword [ebp + 0x18]
xor eax, eax
cmp ebx, esi
mov dword [esp + 0x34], eax
je 0x49dccf
cmp edi, dword [ebp + 0x20]
jne 0x49dccf
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, eax
jmp 0x49dd54
mov ecx, dword [ebp + 0x20]
xor esi, esi
cmp ecx, eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], esi
jbe 0x49dd47
mov edx, ebx
lea ebx, [ebx]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + esi*8 + 4]
test al, 4
lea ecx, [ecx + esi*8]
jne 0x49dd05
test eax, 0xfffffff8
jmp 0x49dd0b
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49dd3b
mov edi, dword [esp + 0x34]
mov eax, edx
inc edi
add edx, 8
cmp ecx, eax
mov dword [esp + 0x34], edi
je 0x49dd3b
mov edi, dword [ecx]
mov dword [eax], edi
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jb 0x49dcf0
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x14]
call fcn.0046c7c0
mov esi, dword [esp + 0x34]
mov eax, dword [ebp + 0x18]
cmp ebx, eax
mov dword [ebp + 0x1c], esi
je 0x49dd68
mov ecx, dword [esp + 0x38]
push eax
call fcn.005bec70
cmp dword [ebp + 0x18], ebx
jne 0x49dd76
test ebx, ebx
jne 0x49dd76
mov dword [ebp + 0x18], ebx
jmp 0x49dd83
lea eax, [ebp + 0x18]
push ebx
push eax
call fcn.005bf920
add esp, 8
mov edx, dword [ebp + 0x14]
test edx, edx
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x20], ecx
je 0x49ddd8
cmp esi, dword [esp + 0x28]
je 0x49ddd8
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
shl ecx, 2
mov esi, ecx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
xor esi, esi
rep stosb byte es:[edi], al
mov dword [edx + 0xc], esi
cmp dword [ebp + 0x1c], esi
jbe 0x49ddd8
mov edi, dword [esp + 0x20]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edi
push esi
push edx
call fcn.0049a250
mov eax, dword [ebp + 0x1c]
inc esi
cmp esi, eax
jb 0x49ddc2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x14], ecx
call fcn.0046c7c0
mov eax, dword [esp + 0x4c]
mov edx, eax
and edx, 7
cmp dl, 7
jne 0x49ddfe
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x30]
mov edi, dword [edx]
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 0x18]
and eax, 0xfffffff8
mov ebp, eax
mov al, byte [edi + 0x109]
mov esi, ebp
and esi, 0xfffffff8
test al, al
je 0x49de45
test esi, esi
je 0x49de45
push ebx
call fcn.004508a0
add esp, 4
test eax, eax
je 0x49de45
push esi
mov ecx, edi
call fcn.005be820
test eax, eax
je 0x49de45
push esi
push ebx
mov ecx, edi
call fcn.005bf2e0
mov ebx, dword [esp + 0x14]
lea eax, [ebx + 4]
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.005bdd60
mov esi, dword [esp + 0x54]
test si, si
je 0x49de9e
mov ecx, dword [esp + 0x34]
mov edi, dword [ecx]
movzx eax, si
mov edx, eax
and edx, 3
or edi, edx
test eax, 0xfffffffc
mov dword [ecx], edi
mov ecx, edi
je 0x49de9e
test cl, 4
jne 0x49de89
mov ecx, ebx
call fcn.0049a460
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
and eax, 0xfffffff8
add eax, 6
and esi, 0xfffc
or word [eax], si
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x14]
test ecx, ecx
lea ebx, [edi + 0x14]
je 0x49dec3
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x1c]
push edx
mov edx, dword [edi + 0x18]
push eax
push edx
call fcn.0049a250
jmp 0x49df42
cmp dword [edi + 0x1c], 8
jb 0x49df42
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
push 0
push eax
push 0x14
call fcn.005c0140
add esp, 0xc
test eax, eax
je 0x49deec
push 0x10
mov ecx, eax
call fcn.0049a1d0
jmp 0x49deee
xor eax, eax
cmp dword [ebx], eax
jne 0x49defa
test eax, eax
jne 0x49defa
mov dword [ebx], eax
jmp 0x49df04
push eax
push ebx
call fcn.005bf920
add esp, 8
mov eax, dword [edi + 0x20]
xor esi, esi
test eax, eax
jbe 0x49df42
mov ebp, dword [esp + 0x20]
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx + esi*8 + 4]
test al, 4
jne 0x49df23
test eax, 0xfffffff8
jmp 0x49df29
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49df3a
push ebp
push esi
push ecx
mov ecx, dword [ebx]
call fcn.0049a250
mov eax, dword [edi + 0x20]
inc esi
cmp esi, eax
jb 0x49df11
inc dword [edi + 0x1c]
mov ecx, dword [edi + 0x34]
mov esi, dword [ecx + 8]
test esi, esi
mov byte [esp + 0x40], 1
jne 0x49df58
xor ebx, ebx
jmp 0x49dfb5
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, dword [eax + 0x128]
mov edx, dword [ecx + 0xa48]
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov al, byte [edx + 0x215]
xor edi, edi
push eax
push ecx
mov ecx, esi
call fcn.004997c0
mov edx, dword [esi + 4]
mov ecx, dword [edx + eax*8]
test ecx, ecx
lea eax, [edx + eax*8]
je 0x49df91
mov edi, dword [eax + 4]
test edi, edi
mov ebx, edi
je 0x49dfb5
mov esi, dword [esp + 0x34]
test byte [esi], 4
jne 0x49dfa9
mov ecx, dword [esp + 0x14]
call fcn.0049a460
mov eax, dword [esi]
and eax, 0xfffffff8
add eax, 6
or byte [eax + 1], 8
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
mov edi, esi
mov ebp, esi
and edi, 3
and ebp, 4
jne 0x49dfcc
mov eax, edi
jmp 0x49dfda
mov ecx, esi
and ecx, 0xfffffff8
xor eax, eax
mov ax, word [ecx + 6]
or ax, di
shr eax, 0xb
test al, 1
je 0x49e208
test ebx, ebx
jne 0x49dff9
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
push edx
call fcn.0049d3a0
mov ebx, eax
test ebp, ebp
jne 0x49e001
mov esi, edi
jmp 0x49e00b
and esi, 0xfffffff8
movzx esi, word [esi + 6]
or si, di
mov eax, esi
shr eax, 0xc
test al, 1
je 0x49e069
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x42c]
test eax, eax
je 0x49e069
cmp byte [eax + 0x39], 8
jae 0x49e069
mov eax, 2
lea edx, [esp + 0x3c]
push edx
lea ecx, [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.00423c10
lea eax, [esp + 0x38]
push eax
lea ecx, [ebx + 0xc]
call fcn.00423c10
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
test al, 4
je 0x49e064
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xf7
mov byte [esp + 0x12], 0
mov al, byte [esp + 0x12]
test al, al
mov esi, ebx
je 0x49e083
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
push edx
call fcn.0049d3a0
mov esi, eax
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x18]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
mov dword [esp + 0x34], eax
jb 0x49e0a5
mov edx, dword [edx + 0x20]
lea eax, [eax + edx*8]
cmp ecx, eax
mov byte [esp + 0x13], 1
jb 0x49e0aa
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov edi, dword [esp + 0x24]
mov eax, dword [edi]
mov ecx, edi
mov dword [esp + 0x3c], edx
xor ebp, ebp
call dword [eax + 8]
test eax, eax
je 0x49e0cf
mov ecx, edi
call fcn.0049c550
mov ebp, eax
test esi, esi
je 0x49e0ff
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x54]
push edx
push eax
push esi
mov ecx, edi
call fcn.0049d7f0
test ebp, ebp
je 0x49e0ff
push 0
mov ecx, ebp
call fcn.004951c0
test eax, eax
je 0x49db27
mov al, byte [ebx + 0x11]
test al, al
jne 0x49e1bc
cmp byte [ebx + 0x10], 0x40
ja 0x49e1bc
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.004b2600
mov esi, eax
test esi, esi
je 0x49e1bc
mov ecx, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00414f60
cmp dword [esp + 0x2c], 7
jl 0x49e145
inc byte [ebx + 0x10]
jmp 0x49e149
mov byte [ebx + 0x11], 1
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, dword [eax + 0x128]
mov edx, dword [ecx + 0xa88]
mov ecx, dword [esp + 0x1c]
push 0
push 0
push esi
push 0
push 1
push edx
push 0
push edi
call fcn.004aa8f0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x548]
test eax, eax
jbe 0x49e197
mov ecx, dword [esp + 0x1c]
dec eax
mov dword [ecx + 0x548], eax
mov ecx, dword [ecx + 0x550]
mov dword [ecx + eax*4], 2
cmp dword [esp + 0x2c], 7
jl 0x49e1a3
dec byte [ebx + 0x10]
jmp 0x49e1a7
mov byte [ebx + 0x11], 0
test ebp, ebp
je 0x49e1bc
push 0
mov ecx, ebp
call fcn.004951c0
test eax, eax
je 0x49db27
mov al, byte [esp + 0x13]
test al, al
je 0x49e208
mov edx, dword [esp + 0x34]
cmp edx, dword [edi + 0x18]
jne 0x49e1da
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
cmp dword [ecx + 4], eax
je 0x49e208
mov al, byte [esp + 0x20]
test al, al
mov ecx, edi
je 0x49e1f0
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049bc90
jmp 0x49e1fc
mov eax, dword [esp + 0x4c]
push 0
push eax
call fcn.0049ba70
test eax, eax
mov dword [esp + 0x14], eax
je 0x49db27
mov edx, dword [esp + 0x2c]
cmp edx, 6
mov ecx, dword [esp + 0x54]
jge 0x49e247
test cl, cl
js 0x49e22d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test al, 4
je 0x49e22d
and eax, 0xfffffff8
add eax, 6
and byte [eax], 0x7f
test ch, 4
jne 0x49e247
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test al, 4
je 0x49e247
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xfb
cmp edx, 8
jge 0x49e266
test ch, 0x10
jne 0x49e266
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
test al, 4
je 0x49e266
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xef
mov al, byte [esp + 0x12]
test al, al
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
jne 0x49e294
mov edx, dword [esp + 0x50]
push edx
push edi
mov ecx, ebx
call fcn.00499e70
mov eax, dword [edi + 4]
test al, 4
je 0x49e294
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xfe
mov ecx, dword [esp + 0x44]
mov ax, word [ecx]
cmp ax, 0x6f
jne 0x49e2db
cmp word [ecx + 2], 0x6e
jne 0x49e2db
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
push ebp
push eax
call fcn.00402030
add esp, 8
cmp eax, 0xffffffff
je 0x49e3dd
mov ecx, eax
mov edx, 1
shl edx, cl
mov byte [ebp + 0xa29], 1
or dword [ebx + 0x28], edx
jmp 0x49e3dd
cmp ax, 0x5f
mov ebp, dword [esp + 0x1c]
jne 0x49e3dd
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xad8]
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.00424fe0
add esp, 0xc
test al, al
je 0x49e396
mov edx, dword [edi]
mov ecx, edx
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x49e323
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49e32d
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x49e45b
mov eax, edx
mov ecx, eax
and ecx, 7
cmp cl, 7
jne 0x49e348
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
lea esi, [ebx + 0xc]
and eax, 0xfffffff8
mov edx, esi
push eax
and edx, 0xfffff000
mov edi, dword [edx]
push esi
push esi
mov ecx, edi
call fcn.00423b60
push eax
mov ecx, edi
call fcn.005bf850
mov al, byte [ebp + 0xa29]
test al, al
jne 0x49e392
mov esi, dword [esi]
test esi, esi
je 0x49e392
lea ebx, [ebx]
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x49e44f
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x49e380
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0xae8]
mov ecx, dword [esp + 0x4c]
push edx
push eax
push ecx
call fcn.00424fe0
add esp, 0xc
test al, al
je 0x49e3dd
mov ecx, dword [edi]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x49e3ca
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49e3d4
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x49e3dd
or byte [ebx + 0x24], 4
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x49e534
mov eax, dword [ebp + 0x468]
test eax, eax
je 0x49e534
lea eax, [esp + 0x54]
push eax
mov ecx, edi
call fcn.0046c5f0
mov edx, dword [esp + 0x54]
mov eax, edx
and eax, 7
cmp eax, 7
mov ecx, edx
jne 0x49e423
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49e42d
and ecx, 0x1f
mov eax, ecx
cmp eax, 5
je 0x49e51d
mov eax, dword [ebx + 0x18]
cmp edi, eax
mov dword [esp + 0x34], eax
jb 0x49e480
mov edx, dword [ebx + 0x20]
lea eax, [eax + edx*8]
cmp edi, eax
jae 0x49e480
mov bl, 1
jmp 0x49e482
mov byte [ebp + 0xa29], 1
jmp 0x49e392
lea eax, [ebx + 0xc]
mov ecx, eax
and ecx, 0xfffff000
mov esi, dword [ecx]
push 0
push eax
push eax
mov ecx, esi
call fcn.00423b60
push eax
mov ecx, esi
call fcn.005bf850
jmp 0x49e396
xor bl, bl
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x1c]
push edx
mov dword [esp + 0x54], ecx
push esi
mov ecx, ebp
call fcn.004b4f90
mov esi, eax
push esi
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
call fcn.004b19b0
test bl, bl
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
je 0x49e4fb
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
cmp edx, dword [ecx + 0x18]
jne 0x49e4cd
mov eax, dword [esp + 0x50]
cmp dword [edi + 4], eax
je 0x49e4fb
mov al, byte [esp + 0x20]
test al, al
je 0x49e4e1
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049bc90
jmp 0x49e4ed
mov eax, dword [esp + 0x4c]
push 0
push eax
call fcn.0049ba70
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
je 0x49db27
mov ecx, dword [esp + 0x54]
push ecx
push ebp
mov ecx, edi
call fcn.0046ccb0
push esi
call fcn.0043f020
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
push eax
and ecx, 0xfffffff8
push ecx
mov ecx, dword [ebp + 0x478]
push edx
call fcn.0049b3d0
pop esi
pop ebx
mov eax, edi
pop edi
pop ebp
add esp, 0x38
ret 0xc