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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x603f04
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6f1550]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
xor edi, edi
push edi
push edi
call edx
mov dword [esi + 0x220], 1
mov byte [esi + 0x154], 0
or eax, 0xffffffff
mov dword [esi + 0x218], eax
mov dword [esi + 0x21c], eax
mov dword [esi + 0x156], eax
mov dword [esi + 0x15a], eax
mov dword [esi + 0x15e], eax
mov dword [esi + 0x162], eax
mov dword [esi + 0x166], eax
mov dword [esi + 0x16a], eax
mov dword [esi + 0x16e], eax
mov dword [esi + 0x172], eax
mov dword [esi + 0x176], eax
mov dword [esi + 0x17a], eax
mov dword [esi + 0x17e], eax
mov dword [esi + 0x182], eax
mov dword [esi + 0x186], eax
mov dword [esi + 0x18a], eax
mov dword [esi + 0x18e], eax
mov dword [esi + 0x192], eax
xor eax, eax
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], eax
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x1a4], eax
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1ac], eax
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], eax
mov dword [esi + 0x1b8], eax
mov dword [esi + 0x1bc], eax
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], eax
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x1cc], eax
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], eax
mov dword [esi + 0x1dc], eax
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1ec], eax
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1f4], eax
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], eax
mov dword [esi + 0x208], eax
mov dword [esi + 0x20c], eax
mov dword [esi + 0x210], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esi + 0x214], eax
mov byte [esp + 0x2b], 1
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00514860
mov ecx, esi
mov edi, eax
mov ebp, edx
call fcn.00514620
sub edi, eax
sbb ebp, edx
mov dword [esp + 0x30], ebp
js 0x4e3206
jg 0x4e22ff
cmp edi, ebx
jb 0x4e3206
push ebx
mov ecx, esi
call fcn.00514860
mov ecx, esi
mov edi, eax
mov ebp, edx
call fcn.00514620
sub edi, eax
sbb ebp, edx
or edi, ebp
je 0x4e3206
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call fcn.004ddf10
cmp eax, ebx
jne 0x4e3206
mov ecx, esi
call fcn.00514620
mov ebp, eax
sub ebp, 0xa
sbb edx, ebx
cmp byte [esp + 0x2b], 0
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], edx
je 0x4e2363
cmp dword [esp + 0x70], 0x2e524d46
jne 0x4e2ffe
push ebx
mov ecx, esi
mov byte [esp + 0x2f], 0
call fcn.00514860
mov edi, dword [esp + 0x74]
xor ecx, ecx
add edi, ebp
adc ecx, dword [esp + 0x90]
cmp ecx, edx
mov ecx, dword [esp + 0x70]
jl 0x4e2399
jg 0x4e238d
cmp edi, eax
jbe 0x4e2399
cmp ecx, 0x44415441
jne 0x4e3206
cmp ecx, 0x2e7261fd
je 0x4e2ffe
cmp word [esp + 0x78], bx
jne 0x4e2fc1
cmp ecx, 0x44415441
ja 0x4e2803
je 0x4e26a8
cmp ecx, 0x2e524d46
je 0x4e2651
cmp ecx, 0x2e535542
je 0x4e24eb
cmp ecx, 0x434f4e54
jne 0x4e2fc1
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
mov ax, word [esp + 0x20]
cmp ax, bx
jbe 0x4e2425
movzx ecx, ax
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [esi + 0x58]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
cmp eax, ebx
jne 0x4e33ee
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
mov ax, word [esp + 0x20]
cmp ax, bx
jbe 0x4e2464
movzx ecx, ax
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [esi + 0x5c]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
cmp eax, ebx
jne 0x4e33ee
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
mov ax, word [esp + 0x20]
cmp ax, bx
jbe 0x4e24a3
movzx ecx, ax
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [esi + 0x60]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
mov ax, word [esp + 0x20]
cmp ax, bx
jbe 0x4e2fc1
movzx ecx, ax
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [esi + 0x64]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
cmp eax, ebx
jne 0x4e33ee
jmp 0x4e2fc1
mov ebp, dword [esp + 0x74]
cmp ebp, 0xa
jbe 0x4e2fc1
add ebp, 0xfffffff6
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], 5
push ebp
lea ecx, [esp + 0x38]
call fcn.00403ca0
test al, al
je 0x4e301a
mov edi, dword [esp + 0x34]
mov eax, ebp
cdq
push edx
push eax
push edi
mov ecx, esi
call fcn.00514720
mov ebx, eax
test ebx, ebx
jne 0x4e3052
add ebp, edi
cmp edi, ebp
jae 0x4e262a
lea ebx, [esi + 0x13c]
lea ecx, [esp + 0x68]
call fcn.004df8c0
mov byte [esp + 0xa8], 6
test edi, edi
jne 0x4e2560
xor eax, eax
jmp 0x4e2570
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4e2565
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x70]
call fcn.00401c00
mov edx, dword [esp + 0x68]
mov eax, dword [edx - 0xc]
lea edi, [edi + eax + 1]
push edi
lea ecx, [esp + 0x88]
call fcn.00401f00
mov byte [esp + 0xa8], 7
mov eax, dword [esp + 0x84]
mov ecx, dword [eax - 0xc]
push 0xa
push 0
push eax
lea edi, [edi + ecx + 1]
call fcn.005c2719
add esp, 0xc
push eax
push edi
lea ecx, [esp + 0xa0]
call fcn.004966c0
mov byte [esp + 0xa8], 8
push eax
lea ecx, [esp + 0x70]
call fcn.004044c0
mov byte [esp + 0xa8], 7
lea ecx, [esp + 0x98]
call fcn.00401aa0
mov eax, dword [esp + 0x6c]
add edi, dword [eax - 0xc]
lea ecx, [esp + 0x68]
push ecx
mov ecx, ebx
call fcn.004e0530
mov byte [esp + 0xa8], 6
lea ecx, [esp + 0x84]
call fcn.00401aa0
mov byte [esp + 0xa8], 5
lea ecx, [esp + 0x68]
call fcn.004df920
cmp edi, ebp
jb 0x4e2547
mov dword [esp + 0xa8], 0xffffffff
mov edx, dword [esp + 0x34]
push edx
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x34], 0
xor ebx, ebx
jmp 0x4e2fc1
lea eax, [esi + 0x50]
push eax
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
cmp dword [esp + 0x74], 0x10
jne 0x4e2690
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x18], ebx
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
movzx edx, word [esp + 0x14]
mov dword [esi + 0x54], edx
jmp 0x4e2fc1
lea eax, [esi + 0x54]
push eax
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
jmp 0x4e2fc1
cmp byte [esi + 0x154], 0
push 0x10
je 0x4e277c
call fcn.0059b02f
mov edi, eax
add esp, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0xa8], 1
lea ecx, [edi + 8]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3087
lea edx, [edi + 0xc]
push edx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3087
mov ecx, esi
call fcn.00514620
mov dword [edi], eax
mov dword [edi + 4], edx
mov ecx, dword [esi + 0x218]
mov ecx, dword [esi + ecx*4 + 0x198]
add eax, 0xffffffee
mov edi, edx
adc edi, 0xffffffff
xor edx, edx
cmp ecx, eax
jne 0x4e272d
cmp edx, edi
jne 0x4e272d
lea ecx, [esi + 0xc4]
jmp 0x4e274a
mov ecx, dword [esi + 0x21c]
mov ecx, dword [esi + ecx*4 + 0x198]
xor edx, edx
cmp ecx, eax
jne 0x4e275b
cmp edx, edi
jne 0x4e275b
lea ecx, [esi + 0xdc]
lea edx, [esp + 0x40]
push edx
call fcn.004e0400
mov ecx, esi
call fcn.004df980
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0x40]
push eax
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x40], ebx
jmp 0x4e2fc1
call fcn.0059b02f
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0xa8], 2
lea ecx, [edi + 8]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e30b8
lea edx, [edi + 0xc]
push edx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e30b8
mov ecx, esi
call fcn.00514620
mov dword [edi], eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esi + 0xac]
mov dword [edi + 4], edx
call fcn.004e0400
mov ecx, esi
call fcn.004df980
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x50], ebx
jmp 0x4e2fc1
cmp ecx, 0x494e4458
je 0x4e2d75
cmp ecx, 0x4d445052
je 0x4e2915
cmp ecx, 0x50524f50
jne 0x4e2fc1
lea edx, [esi + 0x68]
push edx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea eax, [esi + 0x6c]
push eax
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esi + 0x70]
push ecx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea edx, [esi + 0x74]
push edx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea eax, [esi + 0x78]
push eax
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esi + 0x7c]
push ecx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea edx, [esi + 0x80]
push edx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea eax, [esi + 0x84]
push eax
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esi + 0x88]
push ecx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea edx, [esi + 0x8c]
push edx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
movzx ecx, word [esp + 0x60]
mov dword [esi + 0x8e], ecx
jmp 0x4e2fc1
push 0x40
call fcn.0059b02f
add esp, 4
cmp eax, ebx
je 0x4e292e
mov ecx, eax
call fcn.004df850
mov edi, eax
jmp 0x4e2930
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0xa8], ebx
push edi
mov ecx, esi
call fcn.004dc1f0
mov ebp, eax
cmp ebp, ebx
jne 0x4e30e9
lea edx, [edi + 2]
push edx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e30e9
lea eax, [edi + 6]
push eax
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e30e9
lea eax, [edi + 0xa]
push eax
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea ecx, [edi + 0xe]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea edx, [edi + 0x12]
push edx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea eax, [edi + 0x16]
push eax
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea ecx, [edi + 0x1a]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea edx, [esp + 0x1f]
push edx
mov ecx, esi
call fcn.004dd460
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
mov al, byte [esp + 0x1f]
test al, al
jbe 0x4e2a25
movzx ecx, al
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [edi + 0x1e]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea eax, [esp + 0x1f]
push eax
mov ecx, esi
call fcn.004dd460
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
mov al, byte [esp + 0x1f]
test al, al
jbe 0x4e2a66
movzx ecx, al
mov eax, ecx
cdq
push edx
push eax
push ecx
lea ecx, [edi + 0x22]
call fcn.004314c0
push eax
mov ecx, esi
call fcn.00514720
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3125
mov edx, dword [esp + 0x88]
push 0xffffffffffffffff
lea ebx, [edi + 0x26]
push edx
mov ecx, ebx
call fcn.004871d0
mov ecx, dword [esp + 0x88]
test ecx, ecx
jbe 0x4e2ab5
mov eax, dword [ebx]
push 0
push ecx
push eax
mov ecx, esi
call fcn.00514720
mov ebp, eax
test ebp, ebp
jne 0x4e3125
xor ebp, ebp
mov dword [edi + 0x3a], ebp
mov dword [edi + 0x36], ebp
mov byte [edi + 0x3f], 0
mov byte [edi + 0x3e], 0
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2c47
push str.logical_
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2c47
sub eax, dword [edi + 0x22]
js 0x4e2c47
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2b0f
push str._audio
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2b0f
sub eax, dword [edi + 0x22]
jns 0x4e2b3a
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2c47
push str._video
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2c47
sub eax, dword [edi + 0x22]
js 0x4e2c47
mov byte [esi + 0x154], 1
mov edi, dword [ebx]
mov eax, dword [edi]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
call fcn.004dc210
movzx ecx, word [edi + 4]
add edi, 4
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ecx
call fcn.004dc1d0
cmp word [esp + 0x14], bp
je 0x4e2b88
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.004e04f0
xor ebx, ebx
jmp 0x4e2fc1
movzx edx, word [edi + 2]
add edi, 2
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
call fcn.004dc1d0
mov eax, dword [esp + 0x14]
cmp ax, 0x20
jae 0x4e2b6d
movzx ebx, ax
add edi, 2
test ebx, ebx
jle 0x4e2d60
lea ebp, [esi + 0x156]
mov dword [esp + 0x2c], ebx
mov edi, edi
movzx eax, word [edi]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
call fcn.004dc1d0
mov eax, dword [esp + 0x14]
cmp ax, 0x20
jae 0x4e2bde
mov word [ebp], ax
add edi, 2
add ebp, 2
sub dword [esp + 0x2c], 1
jne 0x4e2bc0
test ebx, ebx
jle 0x4e2d60
lea ebp, [esi + 0x156]
lea esp, [esp]
mov ecx, dword [edi]
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], ecx
call fcn.004dc210
movzx eax, word [ebp]
cmp ax, 0x20
jae 0x4e2c27
movzx edx, ax
mov eax, dword [esp + 0x2c]
mov dword [esi + edx*4 + 0x198], eax
add edi, 4
add ebp, 2
sub ebx, 1
jne 0x4e2c00
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x94]
call fcn.004e1960
jmp 0x4e2b6d
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2ce4
push str.video_
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2ce4
sub eax, dword [edi + 0x22]
js 0x4e2ce4
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2c89
push str.x_pn_realvideo
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2c89
sub eax, dword [edi + 0x22]
jns 0x4e2ca8
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2ce4
push str.x_pn_multirate_realvideo
push eax
call fcn.005c0219
add esp, 8
cmp eax, ebp
je 0x4e2ce4
sub eax, dword [edi + 0x22]
js 0x4e2ce4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx]
jae 0x4e2d60
movzx eax, word [edi]
mov ecx, edx
mov dword [esi + 0x21c], eax
mov edx, dword [ecx]
mov dword [esp + 0x80], edx
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x94]
call fcn.004e1960
jmp 0x4e2b6d
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], ebp
jl 0x4e2d60
push str.audio_
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e2d60
sub eax, dword [edi + 0x22]
js 0x4e2d60
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], 0
jl 0x4e2d23
push str.x_pn_realaudio
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e2d23
sub eax, dword [edi + 0x22]
jns 0x4e2d43
mov eax, dword [edi + 0x22]
cmp dword [eax - 0xc], 0
jl 0x4e2d60
push str.x_pn_multirate_realaudio
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e2d60
sub eax, dword [edi + 0x22]
js 0x4e2d60
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx]
jae 0x4e2d60
movzx edx, word [edi]
mov eax, ecx
mov dword [esi + 0x218], edx
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x94]
call fcn.004e1960
jmp 0x4e2b6d
cmp byte [esi + 0x154], 0
mov ecx, esi
je 0x4e2ead
lea eax, [esp + 0x54]
push eax
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
lea edx, [esp + 0x5a]
push edx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
cmp dword [esp + 0x54], ebx
jbe 0x4e2ea3
jmp 0x4e2dd0
sub dword [esp + 0x54], 1
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
cmp word [esp + 0x64], bx
jne 0x4e2e99
push 0xc
call fcn.0059b02f
mov edi, eax
add esp, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0xa8], 3
push edi
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3152
lea ecx, [edi + 4]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e3152
add edi, 8
push edi
mov ecx, esi
call fcn.004dd440
mov edi, eax
cmp edi, ebx
jne 0x4e317f
movzx eax, word [esp + 0x58]
cmp eax, dword [esi + 0x218]
jne 0x4e2e65
lea edx, [esp + 0x3c]
push edx
lea ecx, [esi + 0x10c]
jmp 0x4e2e78
cmp eax, dword [esi + 0x21c]
jne 0x4e2e7d
lea eax, [esp + 0x3c]
push eax
lea ecx, [esi + 0x124]
call fcn.004e0430
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x54], ebx
ja 0x4e2dd0
sub dword [esp + 0x54], 1
jmp 0x4e2fc1
lea edx, [esp + 0x44]
push edx
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esp + 0x4a]
push ecx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
mov ecx, esi
call fcn.004dfca0
cmp dword [esp + 0x44], ebx
mov dword [esp + 0x2c], eax
jbe 0x4e2fbc
lea esp, [esp]
sub dword [esp + 0x44], 1
lea edx, [esp + 0x38]
push edx
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
cmp word [esp + 0x38], bx
jne 0x4e2fb2
push 0xc
call fcn.0059b02f
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0xa8], 4
push edi
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e31ac
lea eax, [edi + 4]
push eax
mov ecx, esi
call fcn.004dd440
mov ebp, eax
cmp ebp, ebx
jne 0x4e31ac
add edi, 8
push edi
mov ecx, esi
call fcn.004dd440
mov edi, eax
cmp edi, ebx
jne 0x4e31d9
movzx ecx, word [esp + 0x48]
cmp ecx, dword [esp + 0x2c]
jne 0x4e2f96
lea edx, [esp + 0x24]
push edx
lea ecx, [esi + 0xf4]
call fcn.004e0430
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0x24]
push eax
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x44], ebx
ja 0x4e2f00
sub dword [esp + 0x44], 1
mov edi, dword [esp + 0x8c]
add edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x90]
mov ecx, esi
adc ebp, ebx
call fcn.00514620
cmp ebp, edx
jl 0x4e22d4
jg 0x4e2fee
cmp edi, eax
jbe 0x4e22d4
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebp
push edi
mov ecx, esi
call eax
jmp 0x4e22d4
mov eax, 0x80004005
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x34], ebx
mov eax, 0x8007000e
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
push edi
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x34], 0
mov eax, ebx
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
push edi
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x40], ebx
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
push edi
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x50], ebx
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
cmp edi, ebx
je 0x4e3108
mov ecx, edi
call fcn.004defb0
push edi
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x18], ebx
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.004e04f0
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00449af0
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00449af0
mov eax, edi
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.00449af0
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.00449af0
mov eax, edi
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x154], 0
je 0x4e3226
cmp dword [esi + 0x12c], ebx
jne 0x4e3381
cmp dword [esi + 0x114], ebx
jmp 0x4e3379
cmp dword [esi + 0xfc], ebx
jne 0x4e3381
mov eax, dword [esi + 0x84]
cmp eax, ebx
jbe 0x4e3373
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
call fcn.004ddf10
cmp eax, ebx
jne 0x4e3373
cmp word [esp + 0x5c], bx
jne 0x4e3373
cmp dword [esp + 0x54], 0x494e4458
jne 0x4e3373
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.004dc1f0
cmp eax, ebx
jne 0x4e33ee
lea ecx, [esp + 0x4a]
push ecx
mov ecx, esi
call fcn.004dd440
cmp eax, ebx
jne 0x4e33ee
cmp dword [esp + 0x44], ebx
jbe 0x4e3373
mov ebx, 9
sub dword [esp + 0x44], 1
lea edx, [esp + 0x38]
push edx
mov ecx, esi
call fcn.004dc1f0
test eax, eax
jne 0x4e33ee
cmp word [esp + 0x38], ax
jne 0x4e3366
push 0xc
call fcn.0059b02f
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0xa8], ebx
push edi
mov ecx, esi
call fcn.004dd440
mov ebp, eax
test ebp, ebp
jne 0x4e3405
lea eax, [edi + 4]
push eax
mov ecx, esi
call fcn.004dd440
mov ebp, eax
test ebp, ebp
jne 0x4e3405
lea ecx, [edi + 8]
push ecx
mov ecx, esi
call fcn.004dd440
mov ebp, eax
test ebp, ebp
jne 0x4e3405
lea edx, [esp + 0x24]
push edx
lea ecx, [esi + 0xf4]
call fcn.004e0430
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0x24]
push eax
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x24], ebp
cmp dword [esp + 0x44], 0
ja 0x4e32c3
xor ebx, ebx
cmp dword [esi + 0xfc], ebx
jne 0x4e3381
mov dword [esi + 0x220], ebx
cmp dword [esi + 0xb4], ebx
jne 0x4e33ec
push 0x10
call fcn.0059b02f
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xa8], 0xa
mov ecx, dword [esi + 0x78]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov edx, dword [esi + 0x88]
add edx, 8
mov dword [eax], edx
mov dword [eax + 4], ebx
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0xac]
call fcn.004e0400
mov ecx, esi
call fcn.004df980
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x14], ebx
xor eax, eax
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0xffffffff
push edi
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x24], 0
mov eax, ebp
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret