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

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0x98]
push esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xc], esi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], ecx
test ebx, ebx
jne 0x482b39
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
push edi
mov edi, dword [esp + 0xa4]
mov eax, 0x65
test edi, edi
je 0x482b4d
movzx eax, byte [edi]
mov dword [esp + 0x1c], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x482b66.21
movzx eax, byte [eax + 0x48386c]
jmp dword [eax*4 + 0x483808]
mov edx, dword [edi + 0x28]
movsx eax, word [edi + 0x22]
cmp byte [edx], 0
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1c]
jne 0x482b90
mov edi, dword [eax + ecx*8 + 0x10]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [edx + 1], 0
je case.0x482b66.154
push esi
push dword [eax + ecx*8 + 0xc]
push dword [edx + 8]
push 0x2f
push ebx
call fcn.004a3e30
add esp, 0x14
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x482bdc
mov eax, dword [ebp + 0x5c]
test eax, eax
jle 0x482bd9
movsx edi, word [edi + 0x20]
add edi, eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, dword [ebp + 0x60]
movzx eax, byte [edi + 0x26]
push eax
movsx eax, word [edi + 0x20]
push esi
push ecx
push eax
push dword [edi + 0x2c]
push ebp
call fcn.004822b0
add esp, 0x18
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push 0
push edi
push ebp
call fcn.00449210
add esp, 0x10
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push 0
push dword [edi + 8]
push ebx
call fcn.00449400
add esp, 0x10
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push 0
push dword [edi + 8]
push 0
push esi
push 0
push 0x61
push ebx
call fcn.004a3ea0
add esp, 0x1c
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push 0
push 0x1a
push ebx
call fcn.004a3dc0
add esp, 0x10
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov esi, dword [edi + 8]
add esi, 2
push esi
call fcn.0049f710
lea edi, [eax - 1]
push edi
push esi
push dword [ebx]
call fcn.0048ea10
mov ecx, dword [esp + 0xb8]
push 0xffffffffffffffff
push eax
mov eax, edi
cdq
push 0
push ecx
sub eax, edx
sar eax, 1
push eax
push 0x1c
push ebx
call fcn.004a3ea0
add esp, 0x2c
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
movsx eax, word [edi + 0x20]
push esi
push eax
push 0x1d
push ebx
call fcn.004a3dc0
mov eax, dword [edi + 8]
add esp, 0x10
cmp byte [eax + 1], 0
je 0x482c0e
movsx ecx, word [edi + 0x20]
mov eax, dword [ebp + 0x1d4]
mov edx, dword [ebx + 4]
mov edi, dword [eax + ecx*4 - 4]
mov ecx, dword [ebx]
test edx, edx
je 0x482d57
cmp byte [ecx + 0x41], 0
jne 0x482d57
mov eax, dword [ebx + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx eax, byte [esi + 1]
push eax
push ecx
call fcn.00452320
add esp, 0xc
mov dword [esi + 0x10], 0
test edi, edi
jne 0x482d3f
mov dword [esi + 0x10], edi
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
mov byte [esi + 1], 0
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov dword [esi + 0x10], edi
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
mov byte [esi + 1], 0xfe
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push edi
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov edi, dword [edi + 0x1c]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push dword [edi + 0xc]
push ebp
call fcn.00482af0
add esp, 0xc
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push dword [edi + 0xc]
push ebp
call fcn.00482af0
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x482dc2
push esi
push eax
push 0x20
push ebx
call fcn.004a3dc0
add esp, 0x10
mov dword [esp + 0x10], esi
push 0
push dword [edi + 8]
call fcn.00476760
movsx eax, al
push eax
push esi
push 0x28
push ebx
call fcn.004a3dc0
mov edi, dword [esp + 0x28]
push 1
push edi
push ebp
call fcn.00481c50
add esp, 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
lea eax, [esp + 0x14]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
mov esi, eax
lea eax, [esp + 0x24]
push eax
push dword [edi + 0x10]
push ebp
call fcn.00483900
mov ecx, dword [esp + 0xc0]
push 0x20
push ecx
push eax
push esi
push dword [esp + 0x44]
push dword [edi + 0x10]
push dword [edi + 0xc]
push ebp
call fcn.00448e60
add esp, 0x38
jmp 0x4834b9
lea eax, [esp + 0x14]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
mov esi, eax
lea eax, [esp + 0x24]
push eax
push dword [edi + 0x10]
push ebp
call fcn.00483900
mov ecx, dword [esp + 0xc0]
push 0xa0
push ecx
push eax
xor eax, eax
cmp dword [esp + 0x40], 0x49
push esi
sete al
add eax, 0x4e
push eax
push dword [edi + 0x10]
push dword [edi + 0xc]
push ebp
call fcn.00448e60
add esp, 0x38
jmp 0x4834b9
lea eax, [esp + 0x14]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
mov esi, eax
lea eax, [esp + 0x24]
push eax
push dword [edi + 0x10]
push ebp
call fcn.00483900
mov ecx, dword [esp + 0xc0]
push ecx
push esi
push eax
push dword [esp + 0x40]
push ebx
call fcn.004a3e30
add esp, 0x2c
jmp 0x4834b9
mov eax, dword [edi + 0xc]
mov cl, byte [eax]
cmp cl, 0x84
jne 0x482ee1
push esi
push 1
push eax
push ebp
call fcn.00449210
add esp, 0x10
mov dword [esp + 0x10], esi
jmp 0x4834b9
cmp cl, 0x85
jne 0x482efe
push esi
push 1
push dword [eax + 8]
push ebx
call fcn.00449400
add esp, 0x10
mov dword [esp + 0x10], esi
jmp 0x4834b9
lea eax, [esp + 0x14]
mov byte [esp + 0x3c], 0x84
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x44], 0x4400
push eax
push ebp
mov dword [esp + 0x50], 0
call fcn.00483900
mov esi, eax
lea eax, [esp + 0x24]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
mov ecx, dword [esp + 0xc0]
push ecx
push esi
push eax
push 0x5a
push ebx
call fcn.004a3e30
mov esi, dword [esp + 0xd4]
add esp, 0x2c
mov dword [esp + 0x10], esi
jmp 0x4834b9
lea eax, [esp + 0x14]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
push esi
push eax
push dword [esp + 0x30]
mov edi, esi
push ebx
call fcn.004a3dc0
add esp, 0x1c
jmp 0x4834bd
push esi
push 1
push 0x17
push ebx
call fcn.004a3dc0
lea eax, [esp + 0x24]
push eax
push dword [edi + 0xc]
push ebp
call fcn.00483900
push eax
push dword [esp + 0x3c]
push ebx
call fcn.004a3d50
mov ecx, dword [esp + 0xd0]
mov esi, eax
push ecx
push 0
push 0x17
push ebx
call fcn.004a3dc0
push esi
push ebx
call fcn.004aac70
add esp, 0x40
jmp 0x4834b9
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x482fea
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push ebp
call fcn.00481160
add esp, 0xc
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 8]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
test dword [edi + 4], 0x4000
mov al, byte [ecx + 0x3e]
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], al
mov dword [esp + 0x24], 0
je 0x48311a
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov eax, dword [edi + 8]
push eax
mov dword [esp + 0x34], eax
call fcn.0049f710
push 0
push dword [esp + 0x28]
mov dword [esp + 0x40], eax
push dword [esp + 0x20]
push eax
push dword [esp + 0x44]
push dword [esp + 0x44]
call fcn.00484f40
add esp, 0x1c
mov dword [esp + 0x18], eax
test eax, eax
je 0x48333e
cmp dword [eax + 0xc], 0
je 0x48333e
movzx eax, word [eax + 2]
test eax, 0x200
je 0x483134
push ebx
call fcn.004ab090
mov edi, dword [esp + 0x20]
push esi
mov dword [esp + 0x34], eax
mov ecx, dword [edi + 4]
push dword [ecx]
push ebp
call fcn.00481ed0
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp eax, 1
jle 0x4830fe
dec eax
mov dword [esp + 0x28], 0x18
mov dword [esp + 0x24], eax
lea esp, [esp]
push dword [esp + 0x2c]
push esi
push 0x4d
push ebx
call fcn.004a3dc0
push 1
push esi
push ebp
call fcn.00481c50
inc dword [ebp + 0x64]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x44]
push esi
push dword [ecx + eax]
push ebp
call fcn.00481ed0
push ebp
call fcn.00481bf0
add dword [esp + 0x54], 0x18
add esp, 0x2c
dec dword [esp + 0x24]
jne 0x4830c0
push dword [esp + 0x2c]
push ebx
call fcn.004acd00
add esp, 8
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x483030
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x483038
test eax, 0x400
je 0x48315b
mov eax, dword [esp + 0x1c]
push esi
mov eax, dword [eax + 4]
push dword [eax]
push ebp
call fcn.00482af0
add esp, 0xc
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x20], edx
test ecx, ecx
jle 0x4831f7
mov esi, dword [esp + 0x1c]
mov eax, 1
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x30], eax
cmp edx, 0x20
jge 0x4831a7
mov eax, dword [esi + 4]
push dword [eax + ebx]
call fcn.00484510
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x30]
je 0x4831a7
or dword [esp + 0x28], eax
test byte [edi + 2], 0x20
je 0x4831d3
cmp dword [esp + 0x24], 0
jne 0x4831d3
mov eax, dword [esi + 4]
push dword [eax + ebx]
push ebp
call fcn.004839f0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
inc edx
rol eax, 1
add ebx, 0x18
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], eax
cmp edx, ecx
jl 0x483180
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x48327a
cmp dword [esp + 0x28], 0
je 0x48321e
mov eax, dword [ebp + 0x48]
lea esi, [eax + 1]
add eax, ecx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0xa8]
mov dword [ebp + 0x48], eax
jmp 0x483230
push ecx
push ebp
call fcn.0048dd10
mov edx, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test byte [eax + 2], 0xc0
je 0x48325b
mov ecx, dword [edx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov cl, byte [ecx]
cmp cl, 0x9a
je 0x48324f
cmp cl, 0x9c
jne 0x48325b
mov al, byte [eax + 2]
mov ecx, dword [esp + 0x38]
and al, 0xc0
mov byte [ecx + 0x26], al
inc dword [ebp + 0x64]
push 3
push dword [esp + 0x24]
push edx
push ebp
call fcn.00482010
push ebp
call fcn.00481bf0
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x483282
mov dword [esp + 0x20], 0
cmp dword [esp + 0x14], 2
jl 0x4832b0
test byte [edi + 4], 0x80
je 0x4832b0
mov eax, dword [edx + 4]
mov edi, dword [esp + 0x14]
push dword [eax + 0x18]
push edi
push dword [esp + 0x20]
push dword [esp + 0x38]
call fcn.004ae770
add esp, 0x10
mov dword [esp + 0x18], eax
jmp 0x4832c3
mov edi, dword [esp + 0x14]
test edi, edi
jle 0x4832bf
mov eax, dword [edx + 4]
push dword [eax]
jmp 0x483299
mov eax, dword [esp + 0x18]
test byte [eax + 2], 0x20
je 0x4832f0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4832d8
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
push 0xfffffffffffffffc
push eax
push 0
push 0
push 0
push 0x22
push ebx
call fcn.004a3ea0
mov eax, dword [esp + 0x34]
add esp, 0x1c
push 0xfffffffffffffffb
push eax
push esi
push dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
push esi
push 0x23
push ebx
call fcn.004a3ea0
push edi
push ebx
call fcn.004a4340
add esp, 0x24
test edi, edi
je 0x482cb4
test esi, esi
jne 0x482cb4
push edi
push dword [esp + 0x24]
push ebp
call fcn.00499c40
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push dword [esp + 0x30]
push dword [esp + 0x38]
push str.unknown_function:__.s__
push ebp
call fcn.00481160
add esp, 0x10
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push 0
push 0
push edi
push ebp
call fcn.0047d310
add esp, 0x10
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push ebx
call fcn.004ab090
push ebx
mov esi, eax
call fcn.004ab090
mov ecx, dword [esp + 0xb0]
mov edi, eax
push ecx
push 0
push 0x1a
push ebx
call fcn.004a3dc0
push edi
push esi
push dword [esp + 0xc4]
push ebp
call fcn.00482410
mov ebp, dword [esp + 0xd0]
push ebp
push 1
push 0x17
push ebx
call fcn.004a3dc0
push esi
push ebx
call fcn.004acd00
add esp, 0x40
push 0
push ebp
push 0x25
push ebx
call fcn.004a3dc0
push edi
push ebx
call fcn.004acd00
add esp, 0x18
mov edi, ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x24], ecx
mov edi, dword [eax + 4]
lea eax, [esp + 0x14]
push eax
push ecx
push ebp
mov esi, dword [edi]
call fcn.00483900
mov ebx, eax
lea eax, [esp + 0x24]
push eax
push esi
push ebp
call fcn.00483900
push ebp
mov edx, eax
call fcn.0048dd40
push dword [esp + 0xbc]
mov ebp, eax
call fcn.0048dd40
push 0x20
push ebp
push edx
push ebx
push 0x53
push esi
push dword [esp + 0x5c]
mov dword [esp + 0x70], eax
push dword [esp + 0xdc]
call fcn.00448e60
mov esi, dword [edi + 0x18]
add esp, 0x40
mov edi, dword [esp + 0xa0]
push dword [esp + 0x18]
push edi
call fcn.00499c70
lea eax, [esp + 0x20]
push eax
push esi
push edi
call fcn.00483900
mov edi, dword [esp + 0x48]
push 0x20
push edi
push eax
push ebx
push 0x51
push esi
push dword [esp + 0x50]
push dword [esp + 0xd0]
call fcn.00448e60
mov ecx, dword [esp + 0xdc]
push ecx
push edi
push ebp
push 0x48
push dword [esp + 0x7c]
call fcn.004a3e30
add esp, 0x48
push ebp
mov ebp, dword [esp + 0xa4]
push ebp
call fcn.00499c70
push edi
push ebp
call fcn.00499c70
add esp, 0x10
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x14], 0
je 0x4834f3
mov bl, byte [ebp + 0x13]
cmp bl, 8
jae 0x4834f3
xor ecx, ecx
lea eax, [ebp + 0x74]
mov edx, dword [esp + 0x14]
cmp dword [eax + 0xc], edx
je 0x4834ef
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x4834d1
movzx eax, bl
mov dword [ebp + eax*4 + 0x18], edx
inc byte [ebp + 0x13]
jmp 0x4834f3
mov byte [eax + 6], 1
cmp dword [esp + 0x18], 0
je 0x482c10
mov bl, byte [ebp + 0x13]
cmp bl, 8
jae 0x482c10
xor ecx, ecx
lea eax, [ebp + 0x74]
nop
mov edx, dword [esp + 0x18]
cmp dword [eax + 0xc], edx
je 0x483539
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x483510
movzx eax, bl
mov dword [ebp + eax*4 + 0x18], edx
mov eax, edi
inc byte [ebp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov byte [eax + 6], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ebp, dword [edi + 0x2c]
movsx eax, word [edi + 0x20]
inc eax
push esi
movsx ecx, word [ebp + 0x22]
inc ecx
imul ecx, dword [edi + 0x1c]
add eax, ecx
push eax
push 0x86
push ebx
call fcn.004a3dc0
movzx eax, word [edi + 0x20]
add esp, 0x10
test ax, ax
js 0x482c0e
cwde
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 4]
cmp byte [eax + ecx*8 + 0x15], 0x45
jne 0x482c0e
push esi
push 0x27
push ebx
call fcn.004a3d50
add esp, 0xc
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp dword [ebp + 0x19c], 0
jne 0x4835cb
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.00481160
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [edi + 1], 2
jne 0x4835da
push ebp
call fcn.00492400
add esp, 4
mov al, byte [edi + 1]
push 0
cmp al, 4
jne 0x483606
push dword [edi + 8]
push 0
push 4
push 0
push 0x16
push ebx
call fcn.004a3ea0
add esp, 0x1c
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
push 0
push dword [edi + 8]
movsx eax, al
push eax
push 0x713
push ebp
call fcn.0048e6d0
add esp, 0x18
mov edi, esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, dword [edi + 0x14]
push ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], eax
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
call fcn.004ab090
mov edx, dword [edi + 0xc]
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], edx
test edx, edx
je 0x4836b5
lea eax, [esp + 0x14]
mov esi, edx
push eax
push edx
mov ecx, 0xc
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.00483900
mov cl, byte [esp + 0x48]
add esp, 0xc
and dword [esp + 0x40], 0xffffefff
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x6c]
mov byte [esp + 0x62], cl
mov byte [esp + 0x3c], 0x9f
mov byte [esp + 0x6c], 0x4f
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
or edi, 0xffffffff
dec eax
test eax, eax
jle 0x4837a3
mov edi, dword [esp + 0x34]
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x38], eax
inc dword [ebp + 0x64]
mov eax, dword [edi]
test edx, edx
je 0x4836e0
mov dword [esp + 0x7c], eax
jmp 0x4836e4
mov dword [esp + 0x24], eax
push ebx
call fcn.004ab090
push 0x10
push eax
push dword [esp + 0x30]
mov dword [esp + 0x30], eax
push ebp
call fcn.00483df0
push esi
push dword [edi + 0x18]
push ebp
call fcn.00481ed0
mov eax, dword [ebx + 0x18]
add esp, 0x20
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x34], ecx
cmp dword [eax + 0x54], ecx
jg 0x48372a
push 1
push ebx
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x48375e
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 4]
lea ecx, [ecx + ecx*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push ebp
call fcn.00481bf0
mov eax, dword [ebx + 0x18]
or ecx, 0xffffffff
add esp, 4
mov dword [esp + 0x34], eax
sub ecx, dword [esp + 0x20]
js 0x483784
mov edx, dword [eax + 0x70]
test edx, edx
je 0x483784
mov eax, dword [ebx + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + 0x20]
add edi, 0x30
mov ecx, dword [esp + 0x34]
dec eax
dec dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x58], eax
jne 0x4836d1
or edi, 0xffffffff
mov eax, dword [esp + 0x2c]
push esi
test al, 1
je 0x4837cb
inc dword [ebp + 0x64]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
push dword [eax + ecx*8 - 0x18]
push ebp
call fcn.00481ed0
push ebp
call fcn.00481bf0
jmp 0x4837d5
push 0
push 0x1a
push ebx
call fcn.004a3dc0
mov edx, dword [ebx + 0x18]
add esp, 0x10
sub edi, dword [esp + 0x30]
js 0x4837ee
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x4837ee
mov eax, dword [ebx + 0x20]
mov dword [ecx + edi*4], eax
mov eax, dword [ebx + 0x20]
mov edi, dword [esp + 0x10]
dec eax
mov dword [edx + 0x58], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret