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

Disassembly:
push 0xffffffffffffffff
push 0x4d0b21
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push ebp
mov ebp, dword [esp + 0x124]
mov ebx, ecx
push esi
push edi
cmp ebx, 0xffffffff
jne 0x437307
lea eax, [esp + 0x10]
push eax
mov edi, ebp
call fcn.004396c0
mov edi, eax
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x124], 0
mov esi, dword [ebx]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test esi, esi
je 0x4372c9
push esi
call ebp
test eax, eax
jne 0x4372c9
push esi
call fcn.0049e96f
add esp, 4
mov eax, dword [edi]
mov dword [ebx], eax
test eax, eax
je 0x4372d8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [esp + 0x124], 0xffffffff
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4372fd
push eax
mov esi, eax
call ebp
test eax, eax
jne 0x4372fd
push esi
call fcn.0049e96f
add esp, 4
mov eax, 0x4dc778
jmp 0x43738c
movzx ecx, word [ebp + 0xc]
movzx eax, cx
dec eax
mov dword [esp + 0x10], ebx
cmp eax, 0x2e
ja case.0x437323.8
movzx edx, byte [eax + 0x4394a0]
jmp dword [edx*4 + 0x439438]
cmp ebx, 0xfffffffe
je 0x43910b
mov ebx, dword [esp + 0x130]
push ebx
push 0x4dd160
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
jne 0x4390f8
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov dword [esp + 0x124], 1
movzx eax, word [ebp + 0x28]
movzx ecx, byte [ebp + eax*4 + 0x34]
sub ecx, 1
je 0x4373d9
sub ecx, 1
je 0x4373a7
lea ecx, [esp + 0x14]
call fcn.00405d80
xor eax, eax
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x118
ret 0xc
cmp dword [esp + 0x10], 0
lea ebp, [ebp + eax*4 + 0x44]
je 0x4373c1
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
mov eax, ebp
mov ecx, ebx
call fcn.00436e80
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x4373e9
movzx ecx, word [edx]
lea edi, [edx + 2]
jmp 0x4373ed
xor ecx, ecx
xor edi, edi
lea esi, [ebp + eax*4 + 0x44]
push ecx
mov eax, ebp
call fcn.00434960
mov ecx, dword [esp + 0x14]
push eax
mov edx, edi
push esi
mov edi, ebx
call fcn.004368d0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ebx, 0xfffffffe
je 0x43912f
mov ebx, dword [esp + 0x130]
push ebx
push 0x4dcf60
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
jne 0x4390f8
movzx eax, word [ebp + 0x28]
movzx ecx, byte [ebp + eax*4 + 0x34]
sub ecx, 2
je 0x4374a0
sub ecx, 4
je 0x437483
sub ecx, 2
jne case.default.0x439153
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
push esi
push ebx
mov ecx, eax
call fcn.00436810
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
mov edx, dword [esp + 0x10]
push eax
push ebx
mov ecx, esi
call fcn.004363f0
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
mov ecx, esi
mov edx, eax
call fcn.00435f20
jmp 0x43738c
mov ebx, dword [esp + 0x130]
push ebx
push 0x4dced0
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
jne 0x4390f8
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov dword [esp + 0x124], 2
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x438cf5
movzx ecx, word [ebp + 0x28]
movzx ecx, byte [ebp + ecx*4 + 0x34]
dec ecx
cmp ecx, 7
ja case.default.0x438cf5
jmp dword [ecx*4 + 0x4394d0]
movzx edx, word [eax]
mov ecx, dword [esp + 0x10]
add eax, 2
push eax
mov edi, ebx
call fcn.00435d90
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp dword [esp + 0x10], 0
movzx ecx, word [eax]
lea edx, [eax + 2]
je 0x437568
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
call fcn.00435f20
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx edx, word [eax]
mov ecx, dword [esp + 0x10]
add eax, 2
push eax
push ebx
call fcn.00435fc0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x10]
push eax
mov edi, ebx
call fcn.00436150
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
push eax
mov edi, ebx
call fcn.00436250
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
mov edx, dword [esp + 0x10]
add eax, 2
push eax
push ebx
call fcn.004363f0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx edx, word [eax]
mov ecx, dword [esp + 0x10]
add eax, 2
push eax
push ebx
call fcn.00436630
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp dword [esp + 0x10], 0
movzx edx, word [eax]
lea ecx, [eax + 2]
je 0x43764f
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push edx
push ebx
call fcn.00436810
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ebx, 0xfffffffe
je 0x43910b
mov ebx, dword [esp + 0x130]
push ebx
push 0x4dcfa0
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
jne 0x4390f8
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov dword [esp + 0x124], 3
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x438cf5
movzx ecx, word [ebp + 0x28]
movzx edx, byte [ebp + ecx*4 + 0x34]
add edx, 0xfffffffc
cmp edx, 0x1f
ja case.default.0x438cf5
movzx edx, byte [edx + 0x439528]
jmp dword [edx*4 + 0x4394f0]
movzx ecx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x4376fa
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push ecx
push eax
call fcn.00435030
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x10]
push ebx
push eax
call fcn.00434d40
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp dword [esp + 0x10], 0
jne case.default.0x438cf5
mov ebp, dword [ebp + ecx*4 + 0x44]
mov ecx, dword [eax + 2]
sub ebp, 4
shr ebp, 1
shr ecx, 1
cmp ecx, ebp
jae 0x43775a
mov ecx, dword [eax + 2]
shr ecx, 1
jmp 0x43775c
mov ecx, ebp
add eax, 6
lea esi, [esp + 0xd4]
call fcn.00442d80
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 4
call fcn.004018d0
lea eax, [esp + 0xd4]
mov byte [esp + 0x124], 3
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e06bc
jmp 0x43738c
movzx edx, word [eax]
mov ecx, dword [esp + 0x10]
add eax, 2
mov edi, ebx
push eax
call fcn.00434e40
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x4377ea
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push ecx
push eax
call fcn.004350f0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
mov edx, dword [esp + 0x10]
add eax, 2
push eax
mov edi, ebx
call fcn.004353f0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
mov edx, dword [esp + 0x10]
add eax, 2
push eax
mov edi, ebx
call fcn.004355a0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x43786a
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push ecx
push eax
call fcn.00435330
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x4378a2
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push ecx
push eax
call fcn.00435840
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x4378da
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push ecx
push eax
call fcn.00435c10
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx edx, word [eax]
add eax, 2
cmp dword [esp + 0x10], 0
je 0x437912
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.00405d80
mov eax, esi
jmp 0x43738c
push edx
mov ecx, eax
call fcn.00435cd0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
push ebx
push eax
call fcn.00436ce0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
mov ecx, dword [esp + 0x10]
cmp ecx, 5
movzx edx, word [eax]
jl 0x4377ae
cmp ecx, 0xa
jge 0x437991
add eax, 2
mov esi, eax
sub esi, eax
lea esi, [edx + esi - 0x28]
add eax, 0x28
lea edx, [ecx - 5]
push eax
mov ecx, esi
mov edi, ebx
call fcn.004353f0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ecx, 0xb
jge 0x4379b3
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff6
lea edx, [edx + esi - 0x40]
jne 0x4376e8
push edx
add eax, 0x40
jmp 0x4376fb
cmp ecx, 0xc
jge 0x4379e8
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff5
lea edx, [edx + esi - 0x48]
jne 0x4376e8
push edx
add eax, 0x48
push eax
call fcn.00435840
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ecx, 0xd
jge 0x437a1d
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff4
lea edx, [edx + esi - 0x4c]
jne 0x4376e8
push edx
add eax, 0x4c
push eax
call fcn.00435330
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ecx, 0xe
jge 0x437a52
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff3
lea edx, [edx + esi - 0x50]
jne 0x4376e8
push edx
add eax, 0x50
push eax
call fcn.004350f0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ecx, 0xf
jge 0x437a87
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff2
lea edx, [edx + esi - 0x58]
jne 0x4376e8
push edx
add eax, 0x58
push eax
call fcn.00435c10
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ecx, 0x10
jge case.default.0x438cf5
add eax, 2
mov esi, eax
sub esi, eax
add ecx, 0xfffffff1
lea edx, [edx + esi - 0x5c]
jne 0x4376e8
push edx
lea ecx, [eax + 0x5c]
call fcn.00435cd0
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00405d80
mov eax, esi
jmp 0x43738c
cmp ebx, 0xfffffffe
jne 0x437b1b
movzx eax, word [ebp + 0x28]
mov cl, byte [ebp + eax*4 + 0x34]
cmp cl, 0xd
jne 0x437af6
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
push eax
mov eax, dword [esp + 0x134]
mov edx, esi
mov ecx, ebx
call fcn.00435900
test eax, eax
je 0x437b11
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4dc134
cmp cl, 0xa
je 0x437b0c
mov esi, 0x4dc0f8
call fcn.00490590
mov eax, str.R
jmp 0x43738c
mov ebx, dword [esp + 0x130]
push ebx
push 0x4dd0a0
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
jne 0x4390f8
movzx eax, word [ebp + 0x28]
movzx ecx, byte [ebp + eax*4 + 0x34]
add ecx, 0xfffffffc
cmp ecx, 0x24
ja case.default.0x439153
movzx ecx, byte [ecx + 0x439574]
jmp dword [ecx*4 + 0x439548]
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
mov ecx, dword [esp + 0x10]
push eax
mov edx, esi
mov edi, ebx
call fcn.00434e40
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
push esi
push eax
call fcn.004350f0
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
mov ecx, dword [esp + 0x10]
push eax
mov edx, esi
mov eax, ebx
call fcn.00435900
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
push esi
push eax
call fcn.00435b50
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
mov edx, dword [esp + 0x10]
push edx
mov ecx, esi
mov edx, eax
call fcn.00435a50
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
push esi
push eax
call fcn.004351b0
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
push esi
push eax
call fcn.00435270
jmp 0x43738c
mov eax, dword [ebp + eax*4 + 0x44]
push eax
mov eax, ebp
call fcn.00434960
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.00435950
jmp 0x43738c
mov esi, dword [ebp + eax*4 + 0x44]
mov eax, ebp
call fcn.00434960
mov ecx, dword [esp + 0x10]
push ebx
push ecx
mov ecx, esi
mov edx, eax
call fcn.00436ce0
jmp 0x43738c
mov eax, ebp
call fcn.00434960
cmp dword [esp + 0x10], 0
jne case.default.0x439153
mov ecx, eax
mov edi, ebx
call fcn.00436de0
jmp 0x43738c
cmp byte [0x4ff0f2], 0
movzx eax, word [ebp + 0x28]
je 0x437e0e
test byte [ebp + eax*4 + 0x40], 2
jne 0x437e0e
test ebx, ebx
jne 0x437e0d
movzx eax, byte [ebp + eax*4 + 0x34]
dec eax
cmp eax, 3
ja case.default.0x437cca
jmp dword [eax*4 + 0x43959c]
mov eax, dword [esp + 0x130]
mov esi, 0x4e06c8
call fcn.00490590
mov eax, 0x4e0724
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e06d4
call fcn.00490590
mov eax, 0x4e0724
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e06f0
call fcn.00490590
mov eax, 0x4e0724
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e0704
call fcn.00490590
mov eax, 0x4e0724
jmp 0x43738c
push 0x4e06b4
lea ebx, [esp + 0x14]
call fcn.00402bd0
mov dword [esp + 0x124], 5
movzx edx, word [ebp + 0x28]
movzx eax, byte [ebp + edx*4 + 0x34]
cdq
push edx
push eax
lea eax, [esp + 0x34]
call fcn.00443520
push eax
lea eax, [esp + 0xa0]
mov bl, 6
push eax
mov edx, 0x4e069c
mov byte [esp + 0x12c], bl
call fcn.00490810
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x10c]
push edx
push eax
mov byte [esp + 0x130], 7
call fcn.004907a0
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 8
call fcn.004018d0
lea eax, [esp + 0x108]
mov byte [esp + 0x124], 7
call fcn.00401970
lea eax, [esp + 0x9c]
mov byte [esp + 0x124], bl
call fcn.00401970
lea eax, [esp + 0x2c]
mov byte [esp + 0x124], 5
call fcn.00401970
lea eax, [esp + 0x10]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0724
jmp 0x43738c
dec ebx
mov cl, byte [ebp + eax*4 + 0x34]
cmp cl, 1
je 0x437e18
inc ebx
cmp ebx, 3
ja case.default.0x439153
jmp dword [ebx*4 + 0x4395ac]
cmp byte [ebp + eax*4 + 0x59], 0
mov eax, dword [esp + 0x130]
mov esi, 0x4e017c
jne 0x437e40
mov esi, 0x4e0188
call fcn.00490590
mov eax, 0x4e0738
jmp 0x43738c
mov ecx, dword [ebp + eax*4 + 0x50]
mov edx, dword [ebp + eax*4 + 0x4c]
push ecx
push edx
lea eax, [esp + 0xfc]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 9
call fcn.004018d0
lea eax, [esp + 0xf4]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
mov eax, ebp
call fcn.00434960
mov eax, dword [eax]
push 0
push eax
lea eax, [esp + 0x3c]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0xa
call fcn.004018d0
lea eax, [esp + 0x34]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
cmp byte [ebp + eax*4 + 0x34], 1
jne case.default.0x439153
cmp byte [ebp + eax*4 + 0x58], 0
mov esi, 0x4e017c
jne 0x437f05
mov esi, 0x4e0188
mov eax, dword [esp + 0x130]
call fcn.00490590
mov eax, 0x4e075c
jmp 0x43738c
movzx esi, word [ebp + 0x28]
lea eax, [ebx + 2]
cmp eax, 5
ja case.default.0x439153
jmp dword [eax*4 + 0x4395bc]
mov eax, dword [esp + 0x130]
xor edx, edx
cmp cx, 0x17
setne dl
mov esi, dword [edx*4 + 0x4dd80c]
inc edx
call fcn.00490590
mov eax, str.R
jmp 0x43738c
mov eax, dword [ebp + esi*4 + 0x50]
mov ecx, dword [ebp + esi*4 + 0x4c]
push eax
push ecx
lea eax, [esp + 0xac]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0xb
call fcn.004018d0
lea eax, [esp + 0xa4]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov ebx, 0xc
mov dword [esp + 0x124], ebx
mov eax, dword [esp + 0x1c]
push 0
test eax, eax
je 0x437ff6
mov eax, dword [eax + 2]
push eax
lea eax, [esp + 0x44]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0xd
call fcn.004018d0
lea eax, [esp + 0x3c]
jmp 0x438023
mov edx, dword [ebp + esi*4 + 0x44]
push edx
lea eax, [esp + 0xe4]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0xe
call fcn.004018d0
lea eax, [esp + 0xdc]
mov byte [esp + 0x124], bl
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4dd848
jmp 0x43738c
mov esi, dword [ebp + esi*4 + 0x3c]
push esi
lea esi, [esp + 0x48]
call fcn.00446160
mov edi, dword [esp + 0x130]
push eax
mov esi, edi
mov dword [esp + 0x128], 0xf
call fcn.004018d0
lea eax, [esp + 0x44]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, edi
call fcn.00490570
test eax, eax
je 0x43809a
mov eax, str.I_O
jmp 0x43738c
mov edi, dword [esp + 0x130]
movzx eax, word [ebp + 0x28]
mov eax, dword [ebp + eax*4 + 0x3c]
push eax
lea esi, [esp + 0xb0]
call fcn.00446160
push eax
mov esi, edi
mov dword [esp + 0x128], 0x10
call fcn.004018d0
lea eax, [esp + 0xac]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
cmp ebx, 2
je 0x4380ed
mov eax, edi
call fcn.00490570
test eax, eax
je case.default.0x439153
movzx ecx, word [ebp + 0x28]
mov eax, dword [ebp + ecx*4 + 0x3c]
lea ecx, [esp + 0x4c]
call fcn.004460b0
push eax
mov esi, edi
mov dword [esp + 0x128], 0x11
call fcn.004018d0
lea eax, [esp + 0x4c]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, edi
call fcn.00490570
test eax, eax
je case.default.0x439153
mov eax, 0x4e0794
jmp 0x43738c
movzx edx, word [ebp + 0x28]
mov ecx, dword [ebp + edx*4 + 0x48]
lea esi, [ebp + edx*4 + 0x44]
mov eax, ecx
lea edx, [ebx + 2]
shr eax, 0x18
cmp edx, 9
ja case.default.0x439153
jmp dword [edx*4 + 0x4395d4]
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
or ebx, 0xffffffff
call fcn.0040bb70
mov dword [esp + 0x124], 0x12
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43818b
mov ebx, dword [eax + 2]
movzx ecx, byte [esi + 7]
mov eax, ebx
call fcn.00446070
test eax, eax
je case.default.0x438cf5
mov esi, dword [eax*4 + 0x4dd808]
mov eax, dword [esp + 0x130]
call fcn.00490590
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, str.R
jmp 0x43738c
mov eax, ebp
call fcn.00434960
mov eax, dword [eax]
lea esi, [esp + 0x104]
call fcn.00444390
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x13
call fcn.004018d0
lea eax, [esp + 0x104]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e07a8
jmp 0x43738c
lea ecx, [esp + 0x54]
call fcn.00445fd0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x14
call fcn.004018d0
lea eax, [esp + 0x54]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e07c8
jmp 0x43738c
and ecx, 0xffffff
push ecx
lea esi, [esp + 0xb8]
call fcn.004444d0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x15
call fcn.004018d0
lea eax, [esp + 0xb4]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e07e0
jmp 0x43738c
movzx eax, word [esi + 8]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.004443b0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x16
call fcn.004018d0
lea eax, [esp + 0x5c]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0010
jmp 0x43738c
movzx edx, word [esi + 0xa]
push edx
lea esi, [esp + 0xe8]
call fcn.004461a0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x17
call fcn.004018d0
lea eax, [esp + 0xe4]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e07f0
jmp 0x43738c
cmp eax, 2
je 0x43835a
cmp eax, 3
je 0x43835a
cmp eax, 5
je 0x43835a
test eax, eax
je 0x43835a
mov eax, dword [esp + 0x130]
mov esi, 0x4d9158
call fcn.00490590
mov eax, 0x4e00fc
jmp 0x43738c
mov eax, dword [esi + 0x18]
push 0
push eax
lea eax, [esp + 0x6c]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x18
call fcn.004018d0
lea eax, [esp + 0x64]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e00fc
jmp 0x43738c
mov eax, ebp
call fcn.00434960
cmp byte [eax + 4], 0
je case.0x43815b.7
mov eax, ebp
call fcn.00434960
add eax, 8
push eax
lea ecx, [esp + 0xc0]
push ecx
call fcn.00448640
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x19
call fcn.004018d0
lea eax, [esp + 0xbc]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0804
jmp 0x43738c
mov eax, ebp
call fcn.00434960
cmp byte [eax + 4], 0
jne 0x438413
cmp ebx, 6
jne case.default.0x439153
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov ebx, 0x1a
mov dword [esp + 0x124], ebx
mov eax, dword [esp + 0x1c]
test eax, eax
je case.default.0x438cf5
mov eax, dword [eax + 2]
lea ecx, [esp + 0x6c]
call fcn.00445f30
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x1b
call fcn.004018d0
lea eax, [esp + 0x6c]
mov byte [esp + 0x124], bl
call fcn.00401970
mov ecx, edi
call fcn.00405d80
mov eax, 0x4e0820
jmp 0x43738c
movzx edx, word [ebp + 0x28]
lea ebp, [ebp + edx*4 + 0x44]
cmp ebx, 0xfffffffe
je 0x43910b
test ebx, ebx
jne case.default.0x439153
mov eax, dword [ebp]
push eax
lea esi, [esp + 0x100]
call fcn.004444a0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x1c
call fcn.004018d0
lea eax, [esp + 0xfc]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0838
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
lea ebp, [ebp + ecx*4 + 0x44]
cmp ebx, 0xfffffffe
je 0x43912f
test ebx, ebx
jne case.default.0x439153
mov edx, dword [ebp]
push edx
lea esi, [esp + 0x78]
call fcn.004444a0
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x1d
call fcn.004018d0
lea eax, [esp + 0x74]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0838
jmp 0x43738c
sub ebx, 0
movzx eax, word [ebp + 0x28]
lea ebp, [ebp + eax*4 + 0x44]
je 0x4385ee
sub ebx, 1
je 0x4385a4
sub ebx, 1
jne case.default.0x439153
mov ecx, dword [ebp + 8]
push ebx
push ecx
lea eax, [esp + 0xcc]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x1f
call fcn.004018d0
lea eax, [esp + 0xc4]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
push edx
push eax
lea eax, [esp + 0x84]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x1e
call fcn.004018d0
lea eax, [esp + 0x7c]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
cmp byte [ebp + 0x10], 0
mov esi, 0x4dc140
jne 0x4385fe
mov esi, 0x4dc134
mov eax, dword [esp + 0x130]
call fcn.00490590
mov eax, 0x4e0850
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
lea ebp, [ebp + ecx*4 + 0x44]
test ebx, ebx
jne case.default.0x439153
mov eax, dword [ebp]
lea ecx, [eax - 3]
cmp ecx, 0x32
ja case.0x438636.4
movzx edx, byte [ecx + 0x439610]
jmp dword [edx*4 + 0x4395fc]
mov eax, dword [esp + 0x130]
mov esi, str.CD_ROM
call fcn.00490590
mov eax, 0x4e0888
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e0874
call fcn.00490590
mov eax, 0x4e0888
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4dc6f8
call fcn.00490590
mov eax, 0x4e0888
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e0880
call fcn.00490590
mov eax, 0x4e0888
jmp 0x43738c
push 0
push eax
lea eax, [esp + 0xf4]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x20
call fcn.004018d0
lea eax, [esp + 0xec]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0888
jmp 0x43738c
movzx eax, word [ebp + 0x28]
lea ebp, [ebp + eax*4 + 0x44]
cmp ebx, 0xfffffffe
je 0x4388d0
test ebx, ebx
je 0x438887
mov eax, dword [ebp + 8]
cmp eax, 0x11c017
ja 0x4387d8
je 0x4387e3
cmp eax, 0x116000
je 0x438784
cmp eax, 0x119ff8
jne case.default.0x439153
cmp ebx, 1
jne case.default.0x439153
mov ecx, dword [ebp]
push 0
push ecx
lea eax, [esp + 0x8c]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x23
call fcn.004018d0
lea eax, [esp + 0x84]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
cmp ebx, 1
jne case.default.0x439153
mov edx, dword [ebp + 4]
push 0
push edx
lea eax, [esp + 0xd4]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x22
call fcn.004018d0
lea eax, [esp + 0xcc]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
cmp eax, 0x11dfff
jne case.default.0x439153
cmp ebx, 1
je 0x43883c
cmp ebx, 2
jne case.default.0x439153
mov eax, dword [ebp + 4]
push 0
push eax
lea eax, [esp + 0x94]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x25
call fcn.004018d0
lea eax, [esp + 0x8c]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e08c8
jmp 0x43738c
mov ecx, dword [ebp]
push 0
push ecx
lea eax, [esp + 0x114]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x24
call fcn.004018d0
lea eax, [esp + 0x10c]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e08b0
jmp 0x43738c
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x94]
push edx
call fcn.00444500
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x21
call fcn.004018d0
lea eax, [esp + 0x94]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e08a0
jmp 0x43738c
mov eax, dword [ebp + 8]
call fcn.00437130
mov esi, dword [eax*4 + 0x4dd808]
mov eax, dword [esp + 0x130]
call fcn.00490590
mov eax, str.R
jmp 0x43738c
movzx eax, word [ebp + 0x28]
lea ebp, [ebp + eax*4 + 0x44]
cmp ebx, 0xfffffffe
je 0x4388d0
test ebx, ebx
jne case.default.0x439153
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00444500
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x26
call fcn.004018d0
lea eax, [esp + 0x20]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e08a0
jmp 0x43738c
sub ebx, 0
movzx edx, word [ebp + 0x28]
lea ebp, [ebp + edx*4 + 0x44]
je 0x4389ca
sub ebx, 1
jne case.default.0x439153
cmp dword [ebp], 1
jne case.default.0x439153
mov eax, dword [ebp + 4]
test al, 2
je 0x43897b
mov esi, str.PAGE_READONLY
jmp 0x43899a
test al, 4
je 0x438986
mov esi, str.PAGE_READWRITE
jmp 0x43899a
test al, 8
je 0x438991
mov esi, str.PAGE_WRITECOPY
jmp 0x43899a
test al, 0x10
je 0x4389a6
mov esi, str.PAGE_EXECUTE
mov eax, dword [esp + 0x130]
call fcn.00490590
test dword [ebp + 4], 0x200
je 0x4389c0
mov eax, dword [esp + 0x130]
mov ecx, str.PAGE_NOCACHE
call fcn.004905d0
mov eax, 0x4e09e4
jmp 0x43738c
mov eax, dword [ebp]
mov ecx, eax
sub ecx, 0
je 0x438a63
sub ecx, 1
je 0x438a48
cdq
push edx
push eax
lea eax, [esp + 0x30]
call fcn.00443520
push eax
lea eax, [esp + 0x28]
mov ebx, 0x27
push eax
mov edx, 0x4e0928
mov dword [esp + 0x12c], ebx
call fcn.00490810
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x28
call fcn.004018d0
lea eax, [esp + 0x24]
mov byte [esp + 0x124], bl
call fcn.00401970
lea eax, [esp + 0x28]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e093c
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e08fc
call fcn.00490590
mov eax, 0x4e093c
jmp 0x43738c
mov eax, dword [esp + 0x130]
mov esi, 0x4e08e0
call fcn.00490590
mov eax, 0x4e093c
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
lea eax, [ebx + 2]
lea ebp, [ebp + ecx*4 + 0x44]
cmp eax, 5
ja case.default.0x439153
jmp dword [eax*4 + 0x439644]
mov eax, dword [esp + 0x130]
mov esi, 0x4dc140
call fcn.00490590
mov eax, str.R
jmp 0x43738c
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
push edx
push eax
lea eax, [esp + 0x38]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x29
call fcn.004018d0
lea eax, [esp + 0x30]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
mov ecx, dword [ebp + 8]
push 0
push ecx
lea eax, [esp + 0x40]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2a
call fcn.004018d0
lea eax, [esp + 0x38]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
mov edx, dword [ebp + 0xc]
push 0
push edx
lea eax, [esp + 0x48]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2b
call fcn.004018d0
lea eax, [esp + 0x40]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a04
jmp 0x43738c
mov eax, dword [ebp + 0x10]
push 0
push eax
lea eax, [esp + 0x50]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2c
call fcn.004018d0
lea eax, [esp + 0x48]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a0c
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
lea ebp, [ebp + ecx*4 + 0x44]
test ebx, ebx
jne case.default.0x439153
mov edx, dword [ebp]
push ebx
push edx
lea eax, [esp + 0x58]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2d
call fcn.004018d0
lea eax, [esp + 0x50]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a0c
jmp 0x43738c
sub ebx, 0
movzx eax, word [ebp + 0x28]
lea ebp, [ebp + eax*4 + 0x44]
je 0x438c78
sub ebx, 1
jne case.default.0x439153
mov ecx, dword [ebp + 8]
push ebx
push ecx
lea eax, [esp + 0x60]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2f
call fcn.004018d0
lea eax, [esp + 0x58]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a0c
jmp 0x43738c
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
push edx
push eax
lea eax, [esp + 0x68]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x2e
call fcn.004018d0
lea eax, [esp + 0x60]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
mov eax, dword [esp + 0x134]
lea edi, [esp + 0x14]
call fcn.0040bb70
mov dword [esp + 0x124], 0x30
cmp dword [esp + 0x1c], 0
je case.default.0x438cf5
mov eax, edi
call fcn.004349c0
cmp ebx, 6
ja case.default.0x438cf5
jmp dword [ebx*4 + 0x43965c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea esi, [esp + 0x70]
call fcn.00443430
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x31
call fcn.004018d0
lea eax, [esp + 0x68]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e0040
jmp 0x43738c
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
push edx
lea esi, [esp + 0x78]
call fcn.00443430
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x32
call fcn.004018d0
lea eax, [esp + 0x70]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e005c
jmp 0x43738c
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
lea esi, [esp + 0x80]
call fcn.00443430
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x33
call fcn.004018d0
lea eax, [esp + 0x78]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, str._nN_k
jmp 0x43738c
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
push edx
lea esi, [esp + 0x88]
call fcn.00443430
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x34
call fcn.004018d0
lea eax, [esp + 0x80]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e0098
jmp 0x43738c
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
push edx
lea eax, [esp + 0x90]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x35
call fcn.004018d0
lea eax, [esp + 0x88]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e00fc
jmp 0x43738c
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
push ecx
push edx
lea eax, [esp + 0x98]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x36
call fcn.004018d0
lea eax, [esp + 0x90]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e014c
jmp 0x43738c
mov eax, dword [eax + 0x30]
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.004443b0
mov esi, dword [esp + 0x130]
push eax
mov byte [esp + 0x128], 0x37
call fcn.004018d0
lea eax, [esp + 0x98]
mov byte [esp + 0x124], 0x30
call fcn.00401970
lea ecx, [esp + 0x14]
call fcn.00405d80
mov eax, 0x4e00b0
jmp 0x43738c
movzx edx, word [ebp + 0x28]
lea eax, [ebx + 2]
lea ebp, [ebp + edx*4 + 0x44]
cmp eax, 5
ja case.default.0x439153
jmp dword [eax*4 + 0x439678]
mov eax, dword [esp + 0x130]
mov esi, 0x4dc134
call fcn.00490590
mov eax, str.R
jmp 0x43738c
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
push eax
push ecx
lea eax, [esp + 0xa8]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x38
call fcn.004018d0
lea eax, [esp + 0xa0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e074c
jmp 0x43738c
mov edx, dword [ebp + 8]
push 0
push edx
lea eax, [esp + 0xb0]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x39
call fcn.004018d0
lea eax, [esp + 0xa8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4dd848
jmp 0x43738c
mov eax, dword [ebp + 0xc]
push 0
push eax
lea eax, [esp + 0xb8]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3a
call fcn.004018d0
lea eax, [esp + 0xb0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a04
jmp 0x43738c
mov ecx, dword [ebp + 0x10]
push 0
push ecx
lea eax, [esp + 0xc0]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3b
call fcn.004018d0
lea eax, [esp + 0xb8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a0c
jmp 0x43738c
test ebx, ebx
jne case.default.0x439153
mov eax, ebp
call fcn.00434960
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
lea eax, [esp + 0xc8]
call fcn.00443620
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3c
call fcn.004018d0
lea eax, [esp + 0xc0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a14
jmp 0x43738c
mov ecx, dword [esp + 0x130]
push ecx
push 0x4dd190
lea ecx, [esp + 0x18]
mov edi, ebp
call fcn.00436f50
test al, al
je case.default.0x439153
mov eax, str.Type
jmp 0x43738c
cmp ebx, 0xfffffffe
jne case.default.0x439153
mov eax, dword [esp + 0x130]
mov esi, 0x4dc118
call fcn.00490590
mov eax, str.R
jmp 0x43738c
cmp ebx, 0xfffffffe
jne case.default.0x439153
mov eax, dword [esp + 0x130]
mov esi, 0x4dc0f8
call fcn.00490590
mov eax, str.R
jmp 0x43738c
cmp ebx, 8
ja case.default.0x439153
jmp dword [ebx*4 + 0x439690]
movzx edx, word [ebp + 0x28]
movzx eax, byte [ebp + edx*4 + 0x34]
cdq
push edx
push eax
lea eax, [esp + 0xd0]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3d
call fcn.004018d0
lea eax, [esp + 0xc8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, 0x4e0a30
jmp 0x43738c
movzx eax, word [ebp + 0x28]
mov ebp, dword [ebp + eax*4 + 0x3c]
push 0
push ebp
lea eax, [esp + 0xd8]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3e
call fcn.004018d0
lea eax, [esp + 0xd0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.IRP
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
mov ebp, dword [ebp + ecx*4 + 0x40]
push 0
push ebp
lea eax, [esp + 0xe0]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x3f
call fcn.004018d0
lea eax, [esp + 0xd8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Flags
jmp 0x43738c
movzx edx, word [ebp + 0x28]
mov ebp, dword [ebp + edx*4 + 0x44]
push 0
push ebp
lea eax, [esp + 0xe8]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x40
call fcn.004018d0
lea eax, [esp + 0xe0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg1
jmp 0x43738c
movzx eax, word [ebp + 0x28]
mov ebp, dword [ebp + eax*4 + 0x48]
push 0
push ebp
lea eax, [esp + 0xf0]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x41
call fcn.004018d0
lea eax, [esp + 0xe8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg2
jmp 0x43738c
movzx ecx, word [ebp + 0x28]
mov ebp, dword [ebp + ecx*4 + 0x4c]
push 0
push ebp
lea eax, [esp + 0xf8]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x42
call fcn.004018d0
lea eax, [esp + 0xf0]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg3
jmp 0x43738c
movzx edx, word [ebp + 0x28]
mov ebp, dword [ebp + edx*4 + 0x50]
push 0
push ebp
lea eax, [esp + 0x100]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x43
call fcn.004018d0
lea eax, [esp + 0xf8]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg4
jmp 0x43738c
movzx eax, word [ebp + 0x28]
mov ebp, dword [ebp + eax*4 + 0x54]
push 0
push ebp
lea eax, [esp + 0x108]
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x44
call fcn.004018d0
lea eax, [esp + 0x100]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg5
jmp 0x43738c
movzx eax, word [ebp + 0x28]
mov ecx, dword [ebp + eax*4 + 0x58]
mov edx, dword [ebp + eax*4 + 0x5c]
push 0
push ecx
lea eax, [esp + 0x118]
mov dword [esp + 0x11c], edx
call fcn.00443560
mov esi, dword [esp + 0x130]
push eax
mov dword [esp + 0x128], 0x45
call fcn.004018d0
lea eax, [esp + 0x110]
mov dword [esp + 0x124], 0xffffffff
call fcn.00401970
mov eax, str.Arg6
jmp 0x43738c