Function at 0x49d570
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.0046c650
test al, al
je 0x49d5b9
test edi, edi
je 0x49d5c3
push 1
push ebp
mov ecx, edi
call fcn.0040df80
test eax, eax
jne 0x49d5c3
pop edi
xor eax, eax
pop ebp
add esp, 0x38
ret 0xc
mov ecx, edi
call fcn.004a7100
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 0x49d5f2
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
push ebx
mov ecx, eax
push esi
and ecx, 0xfffffff8
call fcn.0043b0d0
mov dword [esp + 0x44], eax
cmp byte [ebp + 0x25], 7
jne 0x49d6ae
mov ebx, dword [esp + 0x4c]
mov edx, ebx
and edx, 7
cmp dl, 7
mov eax, ebx
jne 0x49d622
and eax, 0xfffffff8
mov eax, dword [eax + 0xc]
and eax, 0xfffffff8
mov eax, dword [eax + 8]
test eax, eax
je 0x49d630
mov esi, dword [eax]
jmp 0x49d634
mov esi, dword [esp + 0x4c]
test eax, eax
je 0x49d649
mov ecx, ebp
call fcn.0049d120
cmp eax, esi
jg 0x49d6ae
push 1
inc esi
push esi
jmp 0x49d6a7
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0xaec]
push ecx
push edx
push ebx
call fcn.00425060
add esp, 0xc
test al, al
je 0x49d673
mov eax, dword [esp + 0x50]
push 0
push eax
mov ecx, edi
call fcn.00405c50
push eax
jmp 0x49d6a7
cmp dword [esp + 0x2c], 7
jge 0x49d6b2
mov edx, dword [esp + 0x44]
push 0
push 0xa
lea ecx, [esp + 0x48]
push ecx
push edx
call fcn.004a4890
add esp, 0x10
test eax, eax
je 0x49d6ae
mov ecx, ebp
call fcn.0049d120
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jg 0x49d6ae
push 1
inc ecx
push ecx
mov ecx, ebp
call fcn.004a1260
mov ebx, dword [esp + 0x4c]
mov al, byte [esp + 0x20]
test al, al
mov ecx, ebp
je 0x49d6c4
push ebx
call fcn.0049b840
jmp 0x49d6cc
push 0
push ebx
call fcn.0049b620
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 0x49d723
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 3
test cl, 4
jne 0x49d6f3
mov ecx, eax
jmp 0x49d700
mov ecx, dword [edx + 4]
and ecx, 0xfffffff8
mov cx, word [ecx + 6]
or cx, ax
shr cl, 2
test cl, 1
je 0x49dba5
test byte [esp + 0x54], 0x40
jne 0x49dba5
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 0x49d803
mov ecx, ebp
mov dword [esp + 0x34], ebx
call fcn.0049b920
mov esi, eax
cmp esi, ebx
je 0x49d803
mov edi, edi
test byte [esi + 0x24], 1
je 0x49d7cf
mov al, byte [esp + 0x20]
test al, al
mov ecx, esi
je 0x49d76c
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049b840
jmp 0x49d776
mov eax, dword [esp + 0x4c]
push eax
call fcn.0049b7d0
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, esi
mov edi, eax
call fcn.0049cf90
test edi, edi
mov ebx, eax
je 0x49d7ab
test ebx, ebx
je 0x49d7ab
or dword [esp + 0x28], 1
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edx
call fcn.00450960
test al, al
jne 0x49d7ab
mov al, 1
jmp 0x49d7ad
xor al, al
test byte [esp + 0x28], 1
je 0x49d7b9
and dword [esp + 0x28], 0xfffffffe
test al, al
je 0x49d7cf
mov ecx, edi
call fcn.004922e0
test al, al
je 0x49d7f2
cmp dword [esp + 0x2c], 8
jge 0x49d7f2
mov eax, dword [esp + 0x34]
inc eax
cmp eax, 0x100
mov dword [esp + 0x34], eax
jge 0x49d840
mov ecx, esi
call fcn.0049b920
mov esi, eax
test esi, esi
jne 0x49d750
jmp 0x49d803
test edi, edi
mov dword [esp + 0x14], edi
mov byte [esp + 0x12], 1
jne 0x49dba5
mov edx, dword [ebp + 0x20]
cmp dword [ebp + 0x1c], edx
jb 0x49d9c8
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 0x49d868
mov ecx, dword [ebp + 0x18]
mov esi, edx
add ecx, 4
mov dword [esp + 0x28], esi
mov eax, dword [ecx]
test al, 4
jne 0x49d850
test eax, 0xfffffff8
jmp 0x49d856
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x580], 1
jmp 0x49d803
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49d85e
inc edi
add ecx, 8
dec esi
jne 0x49d833
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 0x49d897
mov ecx, dword [esp + 0x38]
push 3
push 3
add edx, edx
push 8
push edx
mov dword [esp + 0x4c], edx
call fcn.005bdb40
mov ebx, eax
jmp 0x49d89b
mov dword [esp + 0x3c], edx
mov esi, dword [ebp + 0x18]
xor eax, eax
cmp ebx, esi
mov dword [esp + 0x34], eax
je 0x49d8bf
cmp edi, dword [ebp + 0x20]
jne 0x49d8bf
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, eax
jmp 0x49d944
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 0x49d937
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 0x49d8f5
test eax, 0xfffffff8
jmp 0x49d8fb
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49d92b
mov edi, dword [esp + 0x34]
mov eax, edx
inc edi
add edx, 8
cmp ecx, eax
mov dword [esp + 0x34], edi
je 0x49d92b
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 0x49d8e0
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x14]
call fcn.0046c790
mov esi, dword [esp + 0x34]
mov eax, dword [ebp + 0x18]
cmp ebx, eax
mov dword [ebp + 0x1c], esi
je 0x49d958
mov ecx, dword [esp + 0x38]
push eax
call fcn.005be630
cmp dword [ebp + 0x18], ebx
jne 0x49d966
test ebx, ebx
jne 0x49d966
mov dword [ebp + 0x18], ebx
jmp 0x49d973
lea eax, [ebp + 0x18]
push ebx
push eax
call fcn.005bf350
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 0x49d9c8
cmp esi, dword [esp + 0x28]
je 0x49d9c8
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 0x49d9c8
mov edi, dword [esp + 0x20]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edi
push esi
push edx
call fcn.00499e30
mov eax, dword [ebp + 0x1c]
inc esi
cmp esi, eax
jb 0x49d9b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x14], ecx
call fcn.0046c790
mov eax, dword [esp + 0x4c]
mov edx, eax
and edx, 7
cmp dl, 7
jne 0x49d9ee
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 0x49da35
test esi, esi
je 0x49da35
push ebx
call fcn.00450900
add esp, 4
test eax, eax
je 0x49da35
push esi
mov ecx, edi
call fcn.005be1e0
test eax, eax
je 0x49da35
push esi
push ebx
mov ecx, edi
call fcn.005beca0
mov ebx, dword [esp + 0x14]
lea eax, [ebx + 4]
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.005bd720
mov esi, dword [esp + 0x54]
test si, si
je 0x49da8e
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 0x49da8e
test cl, 4
jne 0x49da79
mov ecx, ebx
call fcn.0049a040
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 0x49dab3
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x1c]
push edx
mov edx, dword [edi + 0x18]
push eax
push edx
call fcn.00499e30
jmp 0x49db32
cmp dword [edi + 0x1c], 8
jb 0x49db32
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
push 0
push eax
push 0x14
call fcn.005bfc00
add esp, 0xc
test eax, eax
je 0x49dadc
push 0x10
mov ecx, eax
call fcn.00499d80
jmp 0x49dade
xor eax, eax
cmp dword [ebx], eax
jne 0x49daea
test eax, eax
jne 0x49daea
mov dword [ebx], eax
jmp 0x49daf4
push eax
push ebx
call fcn.005bf350
add esp, 8
mov eax, dword [edi + 0x20]
xor esi, esi
test eax, eax
jbe 0x49db32
mov ebp, dword [esp + 0x20]
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx + esi*8 + 4]
test al, 4
jne 0x49db13
test eax, 0xfffffff8
jmp 0x49db19
and eax, 0xfffffff8
cmp dword [eax], 0
setne al
test al, al
je 0x49db2a
push ebp
push esi
push ecx
mov ecx, dword [ebx]
call fcn.00499e30
mov eax, dword [edi + 0x20]
inc esi
cmp esi, eax
jb 0x49db01
inc dword [edi + 0x1c]
mov ecx, dword [edi + 0x34]
mov esi, dword [ecx + 8]
test esi, esi
mov byte [esp + 0x40], 1
jne 0x49db48
xor ebx, ebx
jmp 0x49dba5
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.004993a0
mov edx, dword [esi + 4]
mov ecx, dword [edx + eax*8]
test ecx, ecx
lea eax, [edx + eax*8]
je 0x49db81
mov edi, dword [eax + 4]
test edi, edi
mov ebx, edi
je 0x49dba5
mov esi, dword [esp + 0x34]
test byte [esi], 4
jne 0x49db99
mov ecx, dword [esp + 0x14]
call fcn.0049a040
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 0x49dbbc
mov eax, edi
jmp 0x49dbca
mov ecx, esi
and ecx, 0xfffffff8
xor eax, eax
mov ax, word [ecx + 6]
or ax, di
shr eax, 0xb
test al, 1
je 0x49ddf8
test ebx, ebx
jne 0x49dbe9
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
push edx
call fcn.0049cf90
mov ebx, eax
test ebp, ebp
jne 0x49dbf1
mov esi, edi
jmp 0x49dbfb
and esi, 0xfffffff8
movzx esi, word [esi + 6]
or si, di
mov eax, esi
shr eax, 0xc
test al, 1
je 0x49dc59
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x42c]
test eax, eax
je 0x49dc59
cmp byte [eax + 0x39], 8
jae 0x49dc59
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.00423c90
lea eax, [esp + 0x38]
push eax
lea ecx, [ebx + 0xc]
call fcn.00423c90
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
test al, 4
je 0x49dc54
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 0x49dc73
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
push edx
call fcn.0049cf90
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 0x49dc95
mov edx, dword [edx + 0x20]
lea eax, [eax + edx*8]
cmp ecx, eax
mov byte [esp + 0x13], 1
jb 0x49dc9a
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 0x49dcbf
mov ecx, edi
call fcn.0049c100
mov ebp, eax
test esi, esi
je 0x49dcef
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.0049d3e0
test ebp, ebp
je 0x49dcef
push 0
mov ecx, ebp
call fcn.00494d50
test eax, eax
je 0x49d717
mov al, byte [ebx + 0x11]
test al, al
jne 0x49ddac
cmp byte [ebx + 0x10], 0x40
ja 0x49ddac
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.004b1f90
mov esi, eax
test esi, esi
je 0x49ddac
mov ecx, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00414ff0
cmp dword [esp + 0x2c], 7
jl 0x49dd35
inc byte [ebx + 0x10]
jmp 0x49dd39
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.004aa4a0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x548]
test eax, eax
jbe 0x49dd87
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 0x49dd93
dec byte [ebx + 0x10]
jmp 0x49dd97
mov byte [ebx + 0x11], 0
test ebp, ebp
je 0x49ddac
push 0
mov ecx, ebp
call fcn.00494d50
test eax, eax
je 0x49d717
mov al, byte [esp + 0x13]
test al, al
je 0x49ddf8
mov edx, dword [esp + 0x34]
cmp edx, dword [edi + 0x18]
jne 0x49ddca
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
cmp dword [ecx + 4], eax
je 0x49ddf8
mov al, byte [esp + 0x20]
test al, al
mov ecx, edi
je 0x49dde0
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049b840
jmp 0x49ddec
mov eax, dword [esp + 0x4c]
push 0
push eax
call fcn.0049b620
test eax, eax
mov dword [esp + 0x14], eax
je 0x49d717
mov edx, dword [esp + 0x2c]
cmp edx, 6
mov ecx, dword [esp + 0x54]
jge 0x49de37
test cl, cl
js 0x49de1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test al, 4
je 0x49de1d
and eax, 0xfffffff8
add eax, 6
and byte [eax], 0x7f
test ch, 4
jne 0x49de37
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test al, 4
je 0x49de37
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xfb
cmp edx, 8
jge 0x49de56
test ch, 0x10
jne 0x49de56
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
test al, 4
je 0x49de56
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 0x49de84
mov edx, dword [esp + 0x50]
push edx
push edi
mov ecx, ebx
call fcn.00499a20
mov eax, dword [edi + 4]
test al, 4
je 0x49de84
and eax, 0xfffffff8
add eax, 6
and byte [eax + 1], 0xfe
mov ecx, dword [esp + 0x44]
mov ax, word [ecx]
cmp ax, 0x6f
jne 0x49decb
cmp word [ecx + 2], 0x6e
jne 0x49decb
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
push ebp
push eax
call fcn.00402020
add esp, 8
cmp eax, 0xffffffff
je 0x49dfcd
mov ecx, eax
mov edx, 1
shl edx, cl
mov byte [ebp + 0xa29], 1
or dword [ebx + 0x28], edx
jmp 0x49dfcd
cmp ax, 0x5f
mov ebp, dword [esp + 0x1c]
jne 0x49dfcd
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xad8]
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.00425060
add esp, 0xc
test al, al
je 0x49df86
mov edx, dword [edi]
mov ecx, edx
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x49df13
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49df1d
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x49e04b
mov eax, edx
mov ecx, eax
and ecx, 7
cmp cl, 7
jne 0x49df38
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.00423be0
push eax
mov ecx, edi
call fcn.005bf280
mov al, byte [ebp + 0xa29]
test al, al
jne 0x49df82
mov esi, dword [esi]
test esi, esi
je 0x49df82
lea ebx, [ebx]
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x49e03f
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x49df70
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.00425060
add esp, 0xc
test al, al
je 0x49dfcd
mov ecx, dword [edi]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x49dfba
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49dfc4
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x49dfcd
or byte [ebx + 0x24], 4
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x49e124
mov eax, dword [ebp + 0x468]
test eax, eax
je 0x49e124
lea eax, [esp + 0x54]
push eax
mov ecx, edi
call fcn.0046c5c0
mov edx, dword [esp + 0x54]
mov eax, edx
and eax, 7
cmp eax, 7
mov ecx, edx
jne 0x49e013
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x49e01d
and ecx, 0x1f
mov eax, ecx
cmp eax, 5
je 0x49e10d
mov eax, dword [ebx + 0x18]
cmp edi, eax
mov dword [esp + 0x34], eax
jb 0x49e070
mov edx, dword [ebx + 0x20]
lea eax, [eax + edx*8]
cmp edi, eax
jae 0x49e070
mov bl, 1
jmp 0x49e072
mov byte [ebp + 0xa29], 1
jmp 0x49df82
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.00423be0
push eax
mov ecx, esi
call fcn.005bf280
jmp 0x49df86
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.004b4530
mov esi, eax
push esi
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
call fcn.004b13b0
test bl, bl
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
je 0x49e0eb
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
cmp edx, dword [ecx + 0x18]
jne 0x49e0bd
mov eax, dword [esp + 0x50]
cmp dword [edi + 4], eax
je 0x49e0eb
mov al, byte [esp + 0x20]
test al, al
je 0x49e0d1
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049b840
jmp 0x49e0dd
mov eax, dword [esp + 0x4c]
push 0
push eax
call fcn.0049b620
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
je 0x49d717
mov ecx, dword [esp + 0x54]
push ecx
push ebp
mov ecx, edi
call fcn.0046cc80
push esi
call fcn.0043f0a0
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.0049afb0
pop esi
pop ebx
mov eax, edi
pop edi
pop ebp
add esp, 0x38
ret 0xc