Function at 0x10045660
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bbe1c
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x100f51d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov ecx, dword [ebx + 8]
lea edi, [ebx + 0x10]
mov dword [ebx + 0xa0], 0
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
add esp, 8
test eax, eax
jne 0x100456c6
push 0x100e185c
push 0x100e185c
push 0
push 0
call fcn.1008b562
jmp 0x10046402
cmp dword [ebp + 8], 0
jne 0x100456d5
mov dword [ebx + 0x20], 0
jmp 0x100456dc
mov dword [ebx + 0x20], 1
lea eax, [ebx + 0x24]
push eax
call fcn.1005cd10
add esp, 4
push 0x10000
call fcn.1008b230
add esp, 4
mov dword [ebx + 0x80], eax
test eax, eax
je 0x100456ae
xor eax, eax
mov dword [ebx + 0x98], 0
lea edx, [ebp - 0x13c]
mov word [ebx + 0xe4], ax
mov eax, dword [ebx + 8]
lea esi, [ebx + 0xe4]
push edx
push 0
push 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x84], 0
mov ecx, dword [eax]
push 2
push esi
push eax
call dword [ecx + 4]
add esp, 0x18
test eax, eax
je 0x10046405
cmp dword [ebp - 0x13c], 2
jne 0x10045789
mov eax, 0x5a4d
cmp word [esi], ax
je 0x100457db
mov eax, 0x457f
cmp word [esi], ax
jne 0x100463f2
push dword [ebx + 0x20]
lea eax, [ebp - 0x138]
mov dword [ebp - 0x138], 0
push 4
push 0
push 0
push eax
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
cmp dword [ebp - 0x138], 0x464c457f
jne 0x100457db
mov dword [ebx + 0xa0], 7
jmp 0x100463f2
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x10045848
cmp dword [ebx + 0x418], 0
je 0x10045848
mov eax, dword [ebx + 8]
mov dword [ebp - method.IInternalReadFile.virtual_0], vtable.IInternalReadFile.0
mov dword [ebp - 4], 0
mov dword [ebp - 0x148], 0x100e6820
mov dword [ebp - 0x144], eax
mov dword [ebp - 4], 1
lea eax, [ebx + 0x420]
push eax
lea eax, [ebx + 0x41c]
mov edx, edi
push eax
lea ecx, [ebp - 0x148]
call fcn.10048a60
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebx + 0x20]
mov dword [ebp - method.IInternalReadFile.virtual_0], vtable.IInternalReadFile.0
push eax
push 0x40
push 0
push 0
push esi
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
mov eax, dword [ebx + 0x120]
xor edx, edx
lea ecx, [eax + 4]
cmp edx, dword [edi + 4]
jl 0x10045884
jg 0x10045875
cmp ecx, dword [edi]
jbe 0x10045884
mov dword [ebx + 0xa0], 2
jmp 0x100463f2
push dword [ebx + 0x20]
cdq
mov ecx, ebx
push 4
mov edi, edx
mov esi, eax
push edi
push esi
lea eax, [ebp - 0x154]
push eax
call fcn.10048170
test eax, eax
je 0x10046405
mov ecx, dword [ebp - 0x154]
movzx eax, cx
sub eax, 0x454c
je 0x100463e8
sub eax, 2
je 0x100463bd
sub eax, 2
je 0x100458d7
mov dword [ebx + 0xa0], 2
jmp 0x100463f2
cmp ecx, 0x4550
jne 0x100463f2
push dword [ebx + 0x20]
add esi, 4
mov dword [ebx + 0xa0], 6
push 0x14
adc edi, 0
lea eax, [ebx + 0x124]
push edi
push esi
push eax
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
movzx ecx, word [ebx + 0x124]
add esi, 0x14
mov eax, 0x14c
mov dword [ebp - 0x14c], esi
adc edi, 0
mov dword [ebp - 0x138], edi
cmp cx, ax
je 0x1004597f
mov eax, 0x200
cmp cx, ax
je 0x1004597f
mov eax, 0x8664
cmp cx, ax
je 0x1004597f
mov eax, 0xaa64
cmp cx, ax
jne 0x10045960
mov dword [ebx + 0xa0], 8
jmp 0x100463f2
xor eax, eax
mov edx, 0x1c0
cmp cx, dx
sete al
lea eax, [eax*4 + 5]
mov dword [ebx + 0xa0], eax
jmp 0x100463f2
push dword [ebx + 0x20]
lea eax, [ebx + 0x138]
mov ecx, ebx
push 2
push edi
push esi
push eax
call fcn.10048170
test eax, eax
je 0x10046405
movzx eax, word [ebx + 0x138]
mov ecx, 0x10b
cmp ax, cx
jne 0x10045be0
movzx ecx, word [ebx + 0x134]
mov dword [ebp - 0x13c], ecx
cmp ecx, 0xe0
jbe 0x100459d1
mov ecx, 0xe0
mov dword [ebp - 0x13c], ecx
push dword [ebx + 0x20]
lea eax, [ebx + 0x2e4]
push ecx
push edi
push esi
push eax
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
lea edx, [ebx + 0x2e4]
lea eax, [edx + 0x60]
mov dword [ebx + 0x250], edx
mov dword [ebx + 0x258], eax
lea eax, [esi + 0x40]
mov dword [ebx + 0x408], eax
cmp dword [edx + 0x5c], 4
mov dword [ebp - 0x130], eax
ja 0x10045a23
mov dword [ebx + 0x40c], 0xffffffff
jmp 0x10045a2f
lea eax, [esi + 0x80]
mov dword [ebx + 0x40c], eax
mov eax, dword [edx + 0x5c]
lea edi, [ebx + 0x1d0]
mov dword [ebp - 0x134], eax
mov ecx, 0x20
mov dword [ebx + 0x13c], eax
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x140], eax
mov eax, dword [edx + 0x20]
mov dword [ebx + 0x144], eax
mov eax, dword [edx + 0x38]
mov dword [ebx + 0x14c], eax
mov eax, dword [edx + 0x24]
mov dword [ebx + 0x148], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x150], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x158], eax
mov dword [ebx + 0x15c], 0
movzx eax, word [edx]
mov word [ebx + 0x160], ax
movzx eax, byte [edx + 2]
mov byte [ebx + 0x162], al
movzx eax, byte [edx + 3]
mov byte [ebx + 0x163], al
mov eax, dword [edx + 4]
mov dword [ebx + 0x164], eax
mov eax, dword [edx + 8]
mov dword [ebx + 0x168], eax
mov eax, dword [edx + 0xc]
mov dword [ebx + 0x16c], eax
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x170], eax
mov eax, dword [edx + 0x14]
mov dword [ebx + 0x174], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x178], eax
mov dword [ebx + 0x17c], 0
mov eax, dword [edx + 0x20]
mov dword [ebx + 0x180], eax
mov eax, dword [edx + 0x24]
mov dword [ebx + 0x184], eax
movzx eax, word [edx + 0x28]
mov word [ebx + 0x188], ax
movzx eax, word [edx + 0x2a]
mov word [ebx + 0x18a], ax
movzx eax, word [edx + 0x2c]
mov word [ebx + 0x18c], ax
movzx eax, word [edx + 0x2e]
mov word [ebx + 0x18e], ax
movzx eax, word [edx + 0x30]
mov word [ebx + 0x190], ax
movzx eax, word [edx + 0x32]
mov word [ebx + 0x192], ax
mov eax, dword [edx + 0x34]
mov dword [ebx + 0x194], eax
mov eax, dword [edx + 0x38]
mov dword [ebx + 0x198], eax
mov eax, dword [edx + 0x3c]
mov dword [ebx + 0x19c], eax
mov eax, dword [edx + 0x40]
mov dword [ebx + 0x1a0], eax
movzx eax, word [edx + 0x44]
mov word [ebx + 0x1a4], ax
movzx eax, word [edx + 0x46]
mov word [ebx + 0x1a6], ax
mov eax, dword [edx + 0x48]
mov dword [ebx + 0x1a8], eax
mov dword [ebx + 0x1ac], 0
mov eax, dword [edx + 0x4c]
mov dword [ebx + 0x1b0], eax
mov dword [ebx + 0x1b4], 0
mov eax, dword [edx + 0x50]
mov dword [ebx + 0x1b8], eax
mov dword [ebx + 0x1bc], 0
mov eax, dword [edx + 0x54]
mov dword [ebx + 0x1c0], eax
mov dword [ebx + 0x1c4], 0
mov eax, dword [edx + 0x58]
mov dword [ebx + 0x1c8], eax
mov eax, dword [edx + 0x5c]
mov dword [ebx + 0x1cc], eax
lea esi, [edx + 0x60]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0x24]
jmp 0x10045ce6
mov ecx, 0x20b
cmp ax, cx
jne 0x100463f2
movzx eax, word [ebx + 0x134]
mov dword [ebp - 0x13c], eax
cmp eax, 0xf0
jbe 0x10045c0d
mov eax, 0xf0
mov dword [ebp - 0x13c], eax
push dword [ebx + 0x20]
lea ecx, [ebx + 0x2e4]
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
lea edx, [ebx + 0x2e4]
lea eax, [edx + 0x70]
mov dword [ebx + 0x254], edx
mov dword [ebx + 0x258], eax
lea eax, [esi + 0x40]
mov dword [ebx + 0x408], eax
cmp dword [edx + 0x6c], 4
mov dword [ebp - 0x130], eax
ja 0x10045c5f
mov dword [ebx + 0x40c], 0xffffffff
jmp 0x10045c6b
lea eax, [esi + 0x90]
mov dword [ebx + 0x40c], eax
mov eax, dword [ebx + 0x350]
lea edi, [ebx + 0x160]
mov dword [ebp - 0x134], eax
mov ecx, 0x3c
mov dword [ebx + 0x13c], eax
mov esi, edx
mov eax, dword [ebx + 0x2f4]
mov dword [ebx + 0x140], eax
mov eax, dword [ebx + 0x304]
mov dword [ebx + 0x144], eax
mov eax, dword [ebx + 0x31c]
mov dword [ebx + 0x14c], eax
mov eax, dword [ebx + 0x308]
mov dword [ebx + 0x148], eax
mov eax, dword [ebx + 0x2e8]
mov dword [ebx + 0x150], eax
mov eax, dword [ebx + 0x2fc]
mov dword [ebx + 0x158], eax
mov eax, dword [ebx + 0x300]
mov dword [ebx + 0x15c], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x308]
cmp dword [ebp - 0x134], 0x10
mov dword [ebp - 0x140], eax
jbe 0x10045cff
mov dword [ebx + 0x13c], 0x10
movzx eax, word [ebx + 0x134]
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x138]
cdq
add esi, eax
adc edi, edx
cmp dword [ebx + 0x418], 0
je 0x10045d3b
cmp dword [ebx + 0x420], 0
je 0x10045d3b
mov eax, dword [ebp - 0x130]
cmp dword [ebx + 0x41c], eax
jne 0x100463f2
mov ecx, dword [ebx + 0x120]
test cl, 3
jne 0x100463f2
mov eax, ecx
cdq
cmp edx, dword [ebx + 0x14]
jl 0x10045d61
jg 0x100463f2
cmp eax, dword [ebx + 0x10]
ja 0x100463f2
lea eax, [ecx + 0x378]
cmp eax, ecx
jl 0x100463f2
lea eax, [ecx + 0xf8]
cmp eax, 0x1000
jg 0x100463f2
cmp word [ebx + 0x124], 0
jne 0x10045d9a
movzx eax, word [ebx + 0x134]
test ax, ax
je 0x100463f2
test byte [ebx + 0x136], 2
je 0x100463f2
cmp word [ebx + 0x126], 0x3c
ja 0x100463f2
mov eax, 0x10b
cmp word [ebx + 0x138], ax
jne 0x10045e1c
mov ecx, dword [ebx + 0x250]
cmp dword [ecx + 0x24], 0
je 0x100463f2
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
dec eax
test dword [ecx + 0x20], eax
jne 0x100463f2
lea eax, [edx - 1]
test edx, eax
jne 0x100463f2
cmp dword [ecx + 0x20], edx
jb 0x100463f2
mov eax, dword [ecx + 0x38]
cmp eax, 0x77000000
ja 0x100463f2
test dword [ecx + 0x1c], 0xfff
jne 0x100463f2
cmp dword [ecx + 0x3c], eax
jb 0x10045e79
jmp 0x100463f2
mov ecx, dword [ebx + 0x254]
cmp dword [ecx + 0x24], 0
je 0x100463f2
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
dec eax
test dword [ecx + 0x20], eax
jne 0x100463f2
lea eax, [edx - 1]
test edx, eax
jne 0x100463f2
cmp dword [ecx + 0x20], edx
jb 0x100463f2
mov edx, dword [ecx + 0x38]
cmp edx, 0x77000000
ja 0x100463f2
mov eax, dword [ecx + 0x18]
and eax, 0xfff
or eax, 0
jne 0x100463f2
cmp dword [ecx + 0x3c], edx
jae 0x100463f2
movzx eax, word [ebx + 0x126]
mov dword [ebx + 0x3d4], eax
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.1008b230
mov ecx, eax
add esp, 4
mov dword [ebx + 0x3d8], ecx
test ecx, ecx
je 0x100456ae
mov eax, dword [ebx + 0x3d4]
push dword [ebx + 0x20]
lea eax, [eax + eax*4]
shl eax, 3
push eax
push edi
push esi
push ecx
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
mov ecx, dword [ebx + 0x3d4]
lea eax, [ecx + ecx*4]
shl eax, 3
add esi, eax
mov dword [ebp - 0x14c], esi
adc edi, 0
mov dword [ebp - 0x138], edi
test ecx, ecx
je 0x100463f2
mov ecx, dword [ebx + 0x144]
lea eax, [ecx - 1]
test ecx, eax
jne 0x100463f2
mov edi, dword [ebx + 0x3d8]
xor edx, edx
add edi, 0xc
mov dword [ebp - 0x150], 0
mov eax, dword [edi]
dec eax
add eax, ecx
mov dword [ebp - 0x130], eax
div ecx
mov eax, dword [ebx + 0x14c]
sub dword [ebp - 0x130], edx
dec eax
add eax, ecx
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x130]
dec eax
add eax, ecx
div ecx
mov ecx, dword [ebp - 0x134]
sub ecx, eax
cmp dword [ebx + 0x3d4], 0
mov dword [ebp - 0x134], ecx
jbe 0x10046029
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
mov ecx, dword [edi - 4]
lea edx, [esi + eax]
mov dword [ebp - 0x144], edx
cmp edx, esi
jb 0x100463f2
xor esi, esi
cmp esi, dword [ebx + 0x14]
jg 0x100463f2
jl 0x10045f90
cmp edx, dword [ebx + 0x10]
ja 0x100463f2
test ecx, ecx
jne 0x10045f9e
mov ecx, eax
test eax, eax
je 0x100463f2
mov esi, dword [ebx + 0x144]
lea eax, [esi - 1]
add eax, ecx
cmp eax, ecx
jbe 0x100463f2
sub ecx, dword [ebp - 0x130]
lea eax, [esi - 1]
add ecx, dword [edi]
xor edx, edx
add eax, ecx
mov ecx, dword [ebp - 0x134]
div esi
cmp eax, ecx
ja 0x100463f2
sub ecx, eax
xor edx, edx
imul eax, esi
mov esi, dword [ebp - 0x144]
dec esi
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebx + 0x148]
add esi, ecx
add dword [ebp - 0x130], eax
mov eax, esi
div ecx
sub esi, edx
cmp esi, dword [edi + 8]
jb 0x100463f2
mov eax, dword [ebp - 0x150]
add edi, 0x28
inc eax
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x3d4]
jb 0x10045f60
mov esi, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x134]
test ecx, ecx
jne 0x100463f2
mov eax, dword [ebp - 0x140]
mov edi, eax
add edi, esi
mov esi, ecx
push ecx
adc esi, dword [ebp - 0x138]
sub edi, 1
push eax
sbb esi, ecx
push esi
push edi
call fcn.100b5b20
sub edi, eax
mov eax, dword [ebx + 0x3d4]
mov dword [ebx + 0x18], edi
sbb esi, edx
shl eax, 2
push eax
mov dword [ebx + 0x1c], esi
call fcn.1008b230
mov ecx, eax
add esp, 4
mov dword [ebx + 0x3dc], ecx
test ecx, ecx
je 0x100456ae
mov eax, dword [ebx + 0x3d4]
shl eax, 2
push eax
push 0
push ecx
call fcn.10097030
xor edi, edi
add esp, 0xc
cmp dword [ebx + 0x3d4], edi
jbe 0x100461a1
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x100460b0
mov esi, dword [ebx + 0x3d8]
lea ecx, [ebp - 0x20]
add esi, eax
mov edx, 8
mov eax, ecx
sub esi, eax
lea eax, [edx + 0x7ffffff6]
test eax, eax
je 0x100460df
mov al, byte [esi + ecx]
test al, al
je 0x100460df
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x100460c4
jmp 0x100460e3
test edx, edx
jne 0x100460e4
dec ecx
lea eax, [ebp - 0x128]
mov byte [ecx], 0
mov dword [ebp - 0x12c], eax
lea ecx, [ebp - 0x12c]
push 3
lea eax, [ebp - 0x20]
mov byte [ebp - 0x18], 0
push eax
call fcn.1001c9c0
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x12c]
lea edx, [ecx + 2]
jmp 0x10046120
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10046120
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
lea eax, [esi + esi]
push eax
call fcn.1008b230
mov ecx, dword [ebx + 0x3dc]
add esp, 4
mov dword [ecx + edi*4], eax
mov eax, dword [ebx + 0x3dc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1004628b
push dword [ebp - 0x12c]
mov edx, esi
call fcn.1003a9b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
cmp eax, ecx
je 0x10046185
push eax
call fcn.10099e3e
add esp, 4
mov eax, dword [ebp - 0x140]
inc edi
add eax, 0x28
mov dword [ebp - 0x140], eax
cmp edi, dword [ebx + 0x3d4]
jb 0x100460b0
mov eax, dword [ebx + 0x3d4]
shl eax, 2
push eax
mov dword [ebx + 0xa0], 1
call fcn.1008b230
add esp, 4
mov dword [ebx + 0x3e0], eax
test eax, eax
je 0x100456ae
mov eax, dword [ebx + 0x13c]
xor edx, edx
add eax, 1
je 0x100461fd
lea ecx, [ebx + 0x2a0]
mov edi, edi
mov dword [ecx - 0x44], 0xffff
lea ecx, [ecx + 4]
mov dword [ecx - 4], 0
inc edx
mov eax, dword [ebx + 0x13c]
inc eax
cmp edx, eax
jb 0x100461e0
mov ecx, dword [ebx + 0x3d4]
xor edx, edx
test ecx, ecx
je 0x10046224
lea esp, [esp]
mov eax, dword [ebx + 0x3e0]
mov dword [eax + edx*4], edx
inc edx
mov ecx, dword [ebx + 0x3d4]
cmp edx, ecx
jb 0x10046210
xor eax, eax
test ecx, ecx
je 0x10046243
mov edx, ecx
lea esp, [esp]
inc eax
mov ecx, edx
cmp eax, edx
jae 0x1004623d
mov ecx, dword [ebx + 0x3d4]
mov edx, ecx
cmp eax, ecx
jb 0x10046230
mov edx, dword [ebx + 0x13c]
xor esi, esi
lea eax, [edx + 1]
test eax, eax
je 0x10046332
lea edi, [ebx + 0x25c]
lea esp, [esp]
cmp esi, 2
je 0x1004627c
mov eax, dword [ebx + 0x258]
cmp dword [eax + esi*8 + 4], 0
jne 0x1004627c
mov eax, edx
cmp esi, edx
jb 0x1004631d
cmp esi, edx
je 0x100462ca
mov eax, dword [ebx + 0x258]
mov eax, dword [eax + esi*8]
jmp 0x100462e9
push 0x100e185c
push 0x100e185c
push 0
push 0
call fcn.1008b562
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x128]
cmp eax, ecx
je 0x10046405
push eax
call fcn.10099e3e
add esp, 4
jmp 0x10046405
mov eax, 0x10b
cmp word [ebx + 0x138], ax
jne 0x100462e0
mov eax, dword [ebx + 0x250]
jmp 0x100462e6
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x10]
lea ecx, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x144]
push ecx
push eax
mov ecx, ebx
call fcn.10046550
movzx ecx, word [ebp - 0x130]
mov dword [edi + 0x44], eax
movzx eax, word [ebp - 0x144]
shl ecx, 0x10
or ecx, eax
mov dword [edi], ecx
mov eax, dword [ebx + 0x13c]
mov edx, eax
inc esi
inc eax
add edi, 4
cmp esi, eax
jb 0x10046260
mov ecx, dword [ebx + 0x3d4]
mov eax, dword [ebx + 0x3e0]
mov eax, dword [eax + ecx*4 - 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x3d8]
mov edx, dword [eax + ecx*8 + 0x14]
add edx, dword [eax + ecx*8 + 0x10]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
sub ecx, edx
mov dword [ebx + 0x3e8], ecx
sbb eax, 0
mov dword [ebx + 0x3ec], eax
test eax, eax
jg 0x10046382
jl 0x1004636e
test ecx, ecx
jae 0x10046382
mov dword [ebx + 0x3e8], 0
mov dword [ebx + 0x3ec], 0
cmp dword [ebx + 0x1cc], 2
ja 0x1004639c
mov dword [ebx + 0x410], 0xffffffff
mov eax, 1
jmp 0x10046418
mov eax, dword [ebx + 0x258]
lea ecx, [ebx + 4]
push dword [eax + 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax]
mov dword [ebx + 0x410], eax
add esp, 8
mov eax, 1
jmp 0x10046418
push dword [ebx + 0x20]
add esi, 2
mov dword [ebx + 0xa0], 3
push 0x40
adc edi, 0
lea eax, [ebx + 0xa4]
push edi
push esi
push eax
mov ecx, ebx
call fcn.10048170
test eax, eax
je 0x10046405
jmp 0x100463f2
mov dword [ebx + 0xa0], 4
push 0x100e185c
push 1
push 0
push 0
call fcn.1008b4d4
add esp, 0x10
call fcn.1008b4f1
cmp eax, 3
je 0x10046395
mov ecx, ebx
call fcn.10046440
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10071699
mov esp, ebp
pop ebp
ret 4